Method and system for tracking multiple regional objects by multi-dimensional relaxation

ABSTRACT

A method and system for real-time tracking of objects is are disclosed. A region is repeatedly scanned providing a plurality of images or data sets having points corresponding to ojbects objects in the region to be tracked. Given a previously determined track for each object in the region, an M-dimensional combinatorial optimization assignment problem is formulated using the points from M-1 of the images or data sets, wherein each point is preferably used in extending at most one track. The M-dimensional problem is subsequently solved for an optimal or near-optimal assignment of the points to the tracks, extending the tracking of the objects so that a response to each object can be initiated by the system in real-time. Speed and accuracy is provided by an iterative Lagrangian Relaxation technique wherein a plurality of constraint dimensions are relaxed simultaneously to yield a reduced dimensional optimization problem whose solution is used to formulate an assignment problem of dimensionality less than M. The iterative reducing of dimensions terminates when exact solutions are determined for two-dimensional cases. A recovery procedure is used for determining a higher dimensional assignment problem solution from a problem having one less dimension. The procedure is useful when the reduced dimensional optimizational problem has two constraint dimensions.

RELATED APPLICATIONS U.S. APPLICATION DATA

This application is a reissue of U.S. Pat. No. 5,959,574 which is a continuation-in-part of U.S. patent application Ser. No. 08/404,024, filed Mar. 14, 1995 and issued Jul. 16, 1996 as U.S. Pat. No. 5,537,119, which is a continuation-in-part of U.S. patent application Ser. No. 08/171,327 filed Dec. 21, 1993, now U.S. Pat. No. 5,406,289.

STATEMENT REGARDING FEDERAL RIGHTS

This invention was made with government support under Grant Nos. F49620-00-1-0108, F49620-93-1-0133, F49620-95-1-0136, and F49620-97-1-0273 awarded by the U.S. Air Force Office of Scientific Research to Colorado State University Research Foundation. The government has certain rights in the invention.

FIELD OF THE INVENTION

The invention relates generally to computerized techniques for processing data obtained from radiation reflections used to track multiple discrete object.

BACKGROUND OF THE INVENTION

a. Field of the Invention

The invention relates generally to computerized techniques for processing data obtained from radar to track multiple discrete objects.

b. Description of the Background

There are many situations where the courses of multiple objects in a region must be tracked. Typically, radar is used to scan the region and generate discrete images or “snapshots” based on sets of returns or observations. In some types of tracking systems, all the returns from any one object are represented in an image as a single point unrelated to the shape or size of the objects. “Tracking” is the process of identifying a sequence of points from a respective sequence of the images that represents the motion of an object. The tracking problem is difficult when there are multiple closely spaced objects because the objects can change their speed and direction rapidly and move into and out of the line of sight for other objects. The problem is exacerbated because each set of returns may result from noise as well as echoes from the actual objects. The returns resulting from the noise are also called false positives. Likewise, the radar will not detect all echoes from the actual objects and this phenomena is called a false negative or “missed detect” error. For tracking airborne objects, a large distance between the radar and the objects diminishes the signal to noise ratio so the number of false positives and false negatives can be high. For robotic applications, the power of the radar is low and as a result, the signal to noise ratio can also be low and the number of false positives and false negatives high.

In view of the proximity of the objects to one another, varied motion of the objects and false positives and false negatives, multiple sequential images should be analyzed collectively to obtain enough information to properly assign the points to the proper tracks. Naturally, the larger the number of images that are analyzed, the greater the amount of information that must be processed.

While identifying the track of an object, a kinematic model may be generated describing the object's location, velocity and acceleration may be generated of the object. Such a model provides the means by which the object's future motion of the object can be predicted. Based upon such a prediction, appropriate action may be initiated. For example, in a military application there is a need to track multiple enemy aircraft or missiles in a region to predict their objective, plan responses and intercept them. Alternatively, in a commercial air traffic control application there is a need to track multiple commercial aircraft around an airport to predict their future courses and avoid collision. Further, in these and other applications, such as robotic applications, may use radar, sonar, infrared or other object detecting radiation bandwidths for tracking objects. In particular, in robotic applications reflected radiation can be used to track a single object which moves relative to the robot (or vice versa) so the robot can work on the object.

Consider the very simple example of two objects being tracked and no false positives or false negatives. The radar, after scanning at time t₁, reports objects at two locations in a first observation set. That is, it returns a set of two observations {o₁₁, o₁₂}. At time t₂ it returns a similar set of two observations {o₂₁, o₂₂} from a second observation set. Suppose from prior processing that track data for two tracks T₁ and T₂ includes the locations at t₀ of two objects. Track T₁ may be extended through the points in the two sets of observations in any of four ways, as may track T₂. The possible extensions of T₁ can be described as: {T₁, o₁₁, o₂₁}, {T₁, o₁₁, o₂₂}, {T₁, o₁₂, o₂₁} and {T₁, o₁₂, o₂₂}. Tracks can likewise be extended from T₂ in four possible ways, including, {T₂, o₁₂, o₂₁}. FIG. 1 illustrates these five (out of eight) possible tracks (to simplify the problem for purposes of explanation) . The five track extensions are labeled h₁₁, h₁₂, h₁₃, h₁₄, and h₂₁ wherein h₁₁ is derived from {T₁, o₁₁, o₂₁}, h₁₂ is derived from {T₁, o₁₁, o,₂₂}, h₁₃ is derived from {T₁, o₁₂, o₂₁}, h₁₄ is derived from {T₁, o₁₂, o₂₂}, and h₂₁ is derived from {T₂, o₁₁, o₂₁}. The problem of determining which such track extensions are the most likely or optimal is hereinafter known as the assignment problem.

It is known from prior art to determine a figure of merit or cost for assigning each of the points in the images to a track. The figure of merit or cost is based on the likelihood that the point is actually part of the track. For example, the figure of merit or cost may be based on the distance from the point to an extrapolation of the track. FIG. 1 illustrates costs δ₂₁ δ₂₂ 21 modeled target characteristics. The function to calculate the cost will normally incorporate detailed characteristics of the sensor, such as probability of measurement error, and track characteristics, such as likelihood of track maneuver.

FIG. 2 illustrates a two by two by two matrix, c, that contains the costs for each point in relation to each possible track. The cost matrix is indexed along one axis by the track number, along another axis by the image number and along the third axis by a point number. Thus, each position in the cost matrix lists the cost for a unique combination of points and a track, one point from each image. FIG. 2 also illustrates a {0, 1} assignment matrix, z, which is defined with the same dimensions as the cost matrix. Setting a position in the assignment matrix to “one” means that the equivalent position in the cost matrix is selected into the solution. The illustrated solution matrix selects the {h₁₄, h₂₁ } solution previously described. Note that for the above example of two tracks and two snapshots, the resulting cost and assignment matrices are three dimensional three-dimensional. As used in this patent application, the term “dimension” means the number of axes in the cost or assignment matrix while size refers to the number of elements along a typical axis. The costs and assignments have been grouped in matrices to facilitate computation.

A solution to the assignment problem satisfies two constraints—first, the sum of the associated costs for assigning points to a track extension is minimized and, second, if no false positives or false negatives exist, then each point is assigned to one and only one track.

When false positives exist, however, additional hypothetical track extensions incorporating the false positives will be generated. Further note that the random locations of false positives will, in general, not fit well with true data and such additional hypothetical track extensions will result in higher costs. Also note that when false negative errors exist, then the size of the cost matrix must grow to include hypothetical track extensions formulated with “gaps” (i.e., data omissions where there should be legitimate observation data) for the false negatives. Thus, the second criteria must be weakened to reflect false positives not being as signed and also to permit the gap filler to be multiply assigned. With hypothetical cost calculated in this manner then the foregoing criteria for minimization will tend to materialize the false negatives and avoid the false positives.

For a 3-dimensional three-dimensional problem, as is illustrated in FIG. 1, but with N₁ (initial) tracks, N₂ observations in scan 1, N₃ observations in scan 2, false positives and negatives assumed, the assignment problem can be formulated as:

$\begin{matrix} \begin{matrix} (b) & {{Subject}\mspace{14mu}{to}\text{:}} & {{{\sum\limits_{i_{2} = 1}^{N_{2}}\;{\sum\limits_{i_{3} = 1}^{N_{3}}\; z_{i_{1}i_{2}i_{3}}}} = 1},{i_{1} = 1},{\ldots\mspace{14mu} N_{1}},} \\ (c) & \; & {{{\sum\limits_{i_{1} = 1}^{N_{1}}\;{\sum\limits_{i_{3} = 1}^{N_{3}}\; z_{i_{1}i_{2}i_{3}}}} \leq 1},{i_{2} = 1},{\ldots\mspace{14mu} N_{2}},} \\ (d) & \; & {{{\sum\limits_{i_{1} = 1}^{N_{1}}\;{\sum\limits_{i_{2} = 1}^{N_{2}}\; z_{i_{1}i_{2}i_{3}}}} \leq 1},{i_{3} = 1},{\ldots\mspace{14mu} N_{3}},} \end{matrix} & {(0.1)\left\lbrack \left\lbrack \lbrack 1.0\rbrack \right\rbrack \right\rbrack} \end{matrix}$ where “c” is the cost and “z” is a point or observation assignment, as in FIG. 2.

The minimization equation or equivalently objective function [1.0] (a) (0.1 (a)) specifies the sum of the element by element product of the c and z matrices. The summation includes hypothesis representations Z_(i) ₁ _(i) ₂ _(i) ₃ with observation number zero being the gap filler observation. Equation [1.01] (b) (0.1 (b)) requires that each of the tracks T₁, . . . , T_(N) ₁ be extended by one and only one hypothesis. Equation [1.0](c) (0.1 (c)) relates to each point or observation in the first observation set and requires that each such observation, except the gap filler, can only associate with one track but, because of the “less than” condition, it might not associate with any track. Equation [1.01] (d) (0.1 (d)) is like [1.0] (c) (0.1 (c)) except that it is applicable to the second observation set. Equation [1.0] (e) (0.1 (e)) requires that elements of the solution matrix z be limited to the zero and one values.

The only known method to solve Problem Formulation [1.0] (1.0) exactly is a method called “Branch and Bound.” This method provides a systematic ordering of the potential solutions so that solutions with a same partial solution are accessible via a branch of a tree describing all possible solutions whereby the cost of unexamined solutions on a branch are incrementally developed as the cost for other solutions on the branch are determined. When the developing cost grows to exceed the previously known minimal cost (i.e., the bound) then enumeration of the tree branch terminates. Evaluation continues with a new branch. If evaluation of the cost of a particular branch completes, then that branch has lower cost than the previous bound so the new cost replaces the old bound. When all possible branches are evaluated or eliminated then the branch that had resulted in the last used bound is the solution. If we assume that N₁=N₂=N₃=n and that branches typically evaluate to half there full length, then workload associated with “branch and bound” is proportional to (n!|n/2)!)². This workload is unsuited to real time evaluation.

The Branch and Bound algorithm has been used in past research on the Traveling Salesman Problem. Messrs. Held and Karp showed that if the set of constraints was relaxed by a method of Lagrangian Multipliers (described in more detail below) then tight lower bounds could be developed in advance of enumerating any branch of the potential solution. By initiating the branch and bound algorithm with such a tight lower bound, significant performance improvements result in that branches will typically evaluate to less than half their full length.

Messrs. Frieze and Yadagar in dealing with a problem related to scheduling combinations of resources, as in job, worker and work site, showed that Problem Formulation [1.0] (1.0) applied. They further described a solution method based upon an extension of the Lagrangian Relaxation previously mentioned. The two critical extensions provided by Messrs. Frieze and Yadagar were: (1) an iterative procedure that permitted the lower bound on the solution to be improved (by “hill climbing” described below) and (2) the recognition that when the lower bound of the relaxed problem was maximized, then there existed a method to recover the solution of the non-relaxed problem in most cases using parameters determined at the maximum. The procedures attributed to Messrs. Frieze and Yadagar are only applicable to the 3-dimensional three-dimensional problem posed by Problem Formulation [1.0] (1.0) and where the cost matrix is fully populated. However, tracking multiple airborne objects usually requires solution of a much higher dimensional problem.

FIGS. 1 and 2 illustrate an example where “look ahead” data from the second image improved the assignment accuracy for the first image. Without the look ahead, and based only upon a simple nearest neighbor approach, the assignments in the first set would have been reversed. Problem Formulation [1.0] (1.0) and the prior art only permit looking ahead one image. In the prior art it was known that the accuracy of assignments will improve if the process looks further ahead, however no practical method to optimally incorporate look ahead data existed. Many real radar tracking problems involve hundreds of tracks, thousands of observations per observation set and matrices with dimensions in the range of 3 to 25 including many images of look ahead.

It was also known that the data assignment problem may be simplified (without reducing the dimension of the assignment problem) by eliminating from consideration for each track those points which, after considering estimated limits of speed and turning ability of the objects, could not physically be part of the track. One such technique, denoted hereinafter the “cone method,” defines a cone as a continuation of each previously determined track with the apex of the cone at the end of the previously defined track. The length of the cone is based on the estimated maximum speed of the object and the size of the arc of the cone is based on the estimated maximum turning ability of the object. Thus, the cone defines a region outside of which no point could physically be part of the respective track. For any such points outside of the cones, an infinite number could be put in the cost matrix and a zero could be preassigned in the assignment matrix. It was known for the tracking problem that these elements will be very common in the cost and selection matrices (so these matrices are “sparse”).

It was also known in the prior art that one or more tracks which are substantially separated geographically from the other tracks can be separated also in the assignment problem. This is done by examining the distances from each point to the various possible tracks. If the distances from one set of points are reasonably short only in relation to one track, then they are assigned to that track and not further considered with the remainder of the points. Similarly, if a larger group of points can only be assigned to a few tracks, then the group is considered a different assignment problem. Because the complexity of assignment problems increases dramatically with the number of possible tracks and the total number of points in each matrix, this partitioning of the group of points into a separate assignment problem and removal of these points from the matrices for the remaining points, substantially reduces the complexity of the overall assignment problem.

A previously known Multiple Hypothesis Testing (MHT) algorithm (see Chapter 10 of S.S. Blackman,. Multiple-Target Tracking with Radar Applications, Chapter 10,. Artech House, Norwood, MA, 1986.) related to formulation and scoring. The MHT procedure describes how to formulate the sparse set of all reasonable extension hypothesis (for FIG. 1 the set {h₁₁ . . . h₂₄}) and how to calculate a cost of the hypothesis {T_(i), o_(1j), o_(2k)} based upon the previously calculated cost for hypothesis {T_(i), o_(1j)}. The experience with the MHT algorithm, known in the prior art, is the basis for the assertion that look ahead through k sets of observations results in improved assignment of observations from the first set to the track.

In theory, the MHT procedure uses the extendable costing procedure to defer assignment decision until the accumulated evidence supporting the assignment becomes overwhelming. When it makes the assignment decision, it then eliminates all potential assignments invalidated by the decision in a process called “pruning the tree.” In practice, the MHT hypothesis tree is limited to a fixed number of generations and the overwhelming evidence rule is replaced by a most likely and feasible rule. This rule considers each track independently of others and is therefore a local decision rule.

A general object of the present invention is to provide an efficient and accurate process for assigning each point object in a region from multiple images to a proper track and then taking an action based upon the assignments.

A more specific object of the present invention is to provide a technique of the foregoing type which determines the solution of a k-dimensional assignment problem where “k” is greater than or equal to three.

SUMMARY OF THE INVENTION

The present invention relates to a method and apparatus for tracking objects. In particular, the present invention tracks movement or trajectories of objects by analyzing radiation reflected from the objects, the invention being especially useful for real-time tracking in noisy environments.

In providing such a tracking capability, a region containing the objects is repeatedly scanned to generate a multiplicity of sequential images or data observation sets of the region. One or more points (or equivalently observations), in each of the images or observation sets are detected wherein each such observation either corresponds to an actual location of an object or is an erroneous data point due to noise. Subsequently, for each observation detected, figures of merit or costs are determined for assigning the observation to each of a plurality of previously determined tracks. *Afterwards, a first optimization problem is specified which includes:

-   -   (a) a first objective function for relating the above mentioned         costs to potential track extensions through the detected         observations (or simply observations); and     -   (b) a first collection of constraint sets wherein each         constraint set includes constraints to be satisfied by the         observations in a particular scan to which the constraint set is         related. In general, there is a constraint for each observation         of the scan, wherein the constraint indicates the number of         track extensions to which the observation may belong.

In particular, the first optimization problem is formulated, generated or defined as an M-dimensional assignment problem wherein there are M constraint sets in the first collection of constraint sets (i.e., there are M scans being examined) and the first objective function minimizes a total cost for assigning observations to various track extensions wherein terms are included in the cost, such that the terms have the figures of merit or costs for hypothesized combinations of assignments of the observations to the tracks. Subsequently, the formulated M-dimensional assignment problem is solved by reducing the complexity of the problem by generating one or more optimization problems each having a lower dimension and then solving each lower dimension optimization problem. That is, the M-dimensional assignment problem is solved by solving a plurality of optimization problems each having a lower number of constraint sets.

The reduction of the M-dimensional assignment problem to a lower dimensioned problems is accomplished by relaxing the constraints on the points of one or more scans thereby permitting these points to be assigned to more than one track extension. In relaxing the constraints, terms having penalty factors are added into the objective function thereby increasing the total cost of an assignment when one or more points are assigned to more than one track. Thus, the reduction in complexity by this relaxation process is iteratively repeated until a sufficiently low dimension is attained such that the lower dimensional problem may be solved directly by known techniques.

In one embodiment of the invention, each k-dimensional assignment problem 2<k≦M, (2<k≦M) is iteratively reduced to a k−1 dimensional (k−1)-dimensional problem until a 2-dimensional two-dimensional problem is specified or formulated. Subsequently, the 2-dimensional two-dimensional problem formulated is solved directly and a “recovery” technique is used to iteratively recover an optimal or near-optimal solution to each k-dimensional problem from a derived (k−1) dimensional (k−1)-dimensional problem k=2, 3, 4, . . . M.

In performing each recovery step (of obtaining a solution to a k-dimensional problem using a solution to a (k−1)-dimensional problem), an auxiliary function, is utilized. In particular, to recover an optimal or near-optimal solution to a k-dimensional problem, an auxiliary function, Ψ_(k−1), k=4, 5, . . . , M), is specified and a region or domain is determined wherein this function is maximized, whereby values of the region determine the penalty factors of the (k−1)-dimensional problem such that another 2-dimensional two-dimensional problem can be formulated which determines a solution to the k-dimensional problem using the penalty factors of the (k−1)-dimensional problem.

Each Auxiliary function Ψ_(k), k=3, . . . , M−1, is a function of of both lower dimensional problem problems, penalty factors, and a solution at the dimension k at which the penalized cost function is solved directly (typically a 2-dimensional two-dimensional problem). Further, in determining, for auxiliary function Ψ_(k), a peak region, a gradient of the auxiliary function is determined, and utilized to identify the peak region. Thus, gradients are used for each of the approximation functions Ψ₃, Ψ₄,. . . , Ψ_(M−1) determining penalty factors penalty factors until tm−1 M−1 is used in determining the penalty factors for the M−1 dimensional (M−1)-dimensional problem. Subsequently, once the M-dimensional problem is solved (using a 2-dimensional two-dimensional problem to go from an (M−1) dimensional (M−1)-dimensional solution to an M-dimensional solution), one or more of the following actions are taken based on the track assignments: sending a warning to aircraft or a ground or sea facility, controlling air traffic, controlling anti-aircraft or anti-missile equipment, taking evasive action, working on one of the objects.

According to one feature of this first embodiment of the present invention, the following steps are also performed before the step of defining the auxiliary function. A preliminary auxiliary function is defined for each of the lower dimensional problems having a dimension equal or one greater than the dimension at which the penalized cost function is solved directly. The preliminary auxiliary function is a function of lower order penalty values and a solution at the dimension at which the penalized cost function was solved directly. In determining a gradient of the preliminary auxiliary function, step in the direction of the gradient to identify a peak region of the preliminary auxiliary function and determine penalty factors at the peak region. Iteratively repeat the defining, gradient determining, stepping and peak determining steps to define auxiliary functions at successively higher dimensions until the auxiliary function at 6-18 (k−1) dimension (k−1) is determined. In an alternative second embodiment of the present invention, instead of reducing the dimentiality of the M-dimensional assignment problem by a single dimension at a time, a plurality of dimensions are relaxed simultaneously. This new strategy has the advantage that when the M-dimensional problem is relaxed directly to a 2-dimensional two-dimensional assignment problem, then all computations may be performed precisely without utilizing an auxiliary function such as Ψ_(k) as in the first embodiment. More particularly, the second embodiment solves the first optimization problem (i.e., the M-dimensional assignment problem) by specifying (i.e., creating, generating, formulating and/or defining) a second optimization problem. The second optimization problem includes a second objective function and a second collection of constraint sets wherein:

-   -   a) the second objective function is a combination of the first         objective function and penalty factors or terms determined for         incorporating M-m constraint (M−m)-constraint sets of the first         optimization problem into the second objective function;     -   b) the constraint sets of the second collection include only m         of the constraint sets of the first collection of constraints,         wherein 2≦m≦M−1. Note that, once the second optimization problem         has been specified or formulated, an optimal or near-optimal         solution is determined and that solution is used in specifying         (i.e., creating, generating, formulating and/or defining) a         third optimization problem of M-m (M-m) dimensions (or         equivalently constraint sets). The third optimization problem is         subsequently solved by decomposing it using the same procedure         of this second embodiment as was used to decompose the first         optimization problem above. Thus, a plurality of instantiations         of the third optimization problem are specified, each successive         instantiation having a lower number of dimensions, until an         instance of the third optimization problem is a two dimensional         two-dimensional assignment problem which can be solved directly.         Subsequently, whenever an instance of the third optimization         problem is solved, the solution is used to recover a solution to         the instance of the first optimization problem from which this         instance of the third optimization was derived. Thus, an optimal         or near-optimal solution to the original first optimization         problem may be recovered through iteration of the above steps.

As mentioned above, the second embodiment of the present invention is especially advantageous when m=2, since in this case all computations may be performed precisely and without utilizing auxiliary functions.

Other features and benefits of the present invention will become apparent from the detailed description with the accompanying drawings contained hereinafter.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a graph of images or data sets generated by a scan of a region and possible tracks within the images or data sets according to the prior art.

FIG. 2 illustrates cost and assignment matrices for the data sets of FIG. 1 according to the prior art.

FIG. 3 is a block diagram of the present invention.

FIG. 4 is a flow chart of a process according to the prior art for solving a 3-dimensional three-dimensional assignment problem.

FIG. 5Isis a flow chart of a process according to the present invention for solving a k-dimensional assignment problem where “k” is greater than or equal to 3.

FIG. 6 is a graph of various functions used to explain the present invention.

FIG. 7 is another block diagram of the present invention for solving the k-dimensional assignment problem where “k” is greater than or equal to 3 three (3).

FIG. 8 is a flowchart describing the procedure for solving a an n-dimensional assignment problem according to the second embodiment of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now to the other figures in detail wherein like reference numerals indicate like elements throughout the several views, FIG. 3 illustrates a system generally designated 100 for implementing the present invention. System 100 comprises, for example, a radar station 102 (note sonar, microwave, infrared and other radiation bandwidths are also contemplated) for scanning a region which may be, for example, an aerial region (in aerial surveillance applications) or a work region (in robotic applications) and generating signals indicating locations of objects within the region. The signals are input to a converter 104 which converts the signals to data points or observations in which each object (or false positive) is represented by a single point. The output of the converter is input to and readable by a computer 106. As described in more detail below, the computer 106 assigns the points to respective tracks, and then displays the tracks and extrapolations of the tracks on a monitor 110. Also, the computer 106 determines an appropriate action to take based on the tracks and track extensions. For example, in a commercial application at an airport, the computer can determine if two aircraft being tracked are on a collision course and if so, signal a transmitter 112 to warn each aircraft, or if a scheduled take-off will pose the risk of collision, delay the take-off. For a military application on a ship or base, the computer can determine subsequent coordinates of enemy aircraft and send the coordinates to an antiaircraft gun or missile 120 via a communication channel 122. In a robotic application, the computer controls the robot to work on the proper object or portion of the object.

The invention generates k-dimensional matrices where k is the number of images or sets of observation data in the look ahead window plus one. Then, the invention formulates a k-dimensional assignment problem as in [1.0] (0.1) above.

The k-dimensional assignment problem is subsequently relaxed to a (k−1)-dimensional problem by incorporating one set of constraints into the objective function using a Lagrangian relaxation of this set. Given a solution of the (k−1)-dimensional problem, a feasible solution of the k-dimensional problem is then reconstructed. The (k−1)-dimensional problem is solved in a similar manner, and the process is repeated until it reaches the two-dimensional problem that can be solved exactly. The ideas behind the Lagrangian relaxation scheme are outlined next.

Consider the integer programming problem

$\begin{matrix} \begin{matrix} {{{Minimize}{~~~}{v(z)}} = {c^{T}z}} \\ {{{{Subject}\mspace{14mu}{to}\text{:}{~~~}{Az}} \leq b},} \\ {{{Bz} \leq d},} \\ {{{z_{i\;}\mspace{14mu}{is}\mspace{14mu}{an}\mspace{14mu}{integer}\mspace{14mu}{for}\mspace{14mu} i} \in I},} \end{matrix} & {\left\lbrack \left\lbrack \left\lbrack {1.0{.1}} \right\rbrack \right\rbrack \right\rbrack\;(0.2)} \end{matrix}$ where the partitioning of the constraints is natural in some sense. Given a multiplier vector u≧0, the Lagrangian relaxation of [1.0.1] (0.2) relative to the constraints Bz≦d is defined to be

-   -   ΦΦTT

$\begin{matrix} \begin{matrix} {{\Phi\;(u)} = {{Minimize}{~~~}\left\{ {{c^{T}z} + {u^{T}\left( {{Bz} - d} \right)}} \right\}}} \\ {{{\left. \left. {{{Subject}\mspace{14mu}{to}\text{:}{~~~}\left\lbrack \lbrack \right.{Az}} \leq b} \right\rbrack \right\rbrack{\mspace{11mu}\;}{Az}} \leq b},} \\ {{z_{i\;}\mspace{14mu}{is}\mspace{14mu}{an}\mspace{14mu}{integer}\mspace{14mu}{for}\mspace{14mu} i} \in {I.}} \end{matrix} & {\left\lbrack \left\lbrack \left\lbrack {1.0{.2}} \right\rbrack \right\rbrack \right\rbrack\mspace{11mu}(0.3)} \end{matrix}$ If the constraint set Bz≦d is replaced by Bz=d, the nonnegativity non-negativity constraint on u is removed. L=C^(T)z+u^(T)(Bz−d) L=c^(T)z+u^(T)(Bz−d) is the Lagrangian relative to the constraints Bz≦d, and hence the name Lagrangian relaxation. The following fact gives the relationship between the objective functions of the original and relaxed problems.

FACT A.1. If z is an optimal solution to [1.0.1] (0.2), then Φ≦v( z) Φ(u)≦v( z) for all u≧0. If an optimal solution {circumflex over (z)} of [1.0.2] (0.3) is feasible for [1.0.2] (0.3), then {circumflex over (z)} is an optimal solution for [1.0.1] (0.2) and Φ Algor ithm Φ(u)=v({circumflex over (z)}). k_(k) ^(∞)=0

This leads to the following algorithm:

Algorithm. Construct a sequence of multipliers {u_(k)}^(∞) _(k=0) converging to the solution ū of Maximize {Φ≧0} {Φ(u):u≧0} and a corresponding sequence of feasible solutions {Z_(k)}_(k)=0of [1.0.1] (0.2) as follows:

-   -   1. Generate in an initial approximation u₀.     -   2. Given u_(k), choose a search direction s_(k) and a search         distance α_(k) Ψ_(k) α_(k k) Ψ_(k) so that         Φ(u_(k)+α_(k)s_(k)>Φ(u) _(k)). Update the multiplier estimate         u_(k) by u_(k+1)=u_(k)+α_(k k) u_(k+1)=u_(k)+α_(k)s_(k).     -   3. Given u_(k+1) and a feasible solution {circumflex over         (Z)}_(k+1) (u_(k+1)){circumflex over (z)}_(k+1) (u_(k+1)) of         [1.0.2](0.3), recover a feasible solution z_(k+1) (u_(k+1)) of         the integer programming problem [1.0.1](0.2).     -   4. Check the termination criteria. If the algorithm is not         finished, set k=k+1 and return to Step 2. Otherwise, terminate         the algorithm.

If z is an optimal solution of [1.0.1] (0.2), then

-   -   Ψ_(k)≦Ψ≦V ( z)≦(z_(k))         Since the optimal solution {circumflex over (z)}={circumflex         over (z)}(u) of [1.0.2] (0.3) is usually not a feasible solution         of [1.0.1] (0.2) for any choice of the multipliers,

$\begin{matrix} \left\lbrack \lbrack \right. & \Phi & \; & \; & \; & \; \\ \; & \; & \Phi & \; & \alpha & \alpha \\ \; & \; & \; & \; & \; & \Phi \\ \; & \; & \; & \alpha & \left. \left. \alpha \right\rbrack \right\rbrack & \; \end{matrix}$ Φ(ū) is usually strictly less than v( z). The difference v( z)−Φ(ū) is called the “duality gap,” which can be estimated by comparing the best relaxed and recovered solutions computed in the course of maximizing Φ(u).

-   -   _(p)≦p≦k

Thus, to eliminate the “<” in the constraint formulations (e.g., (0.1)(a)-(0.1)(d)) that resulted from false positives, the constraint sets have been modified, as indicated above, to incorporate a gap filler in each observation set to account for false positives. Thus, a zero for an index, i_(p), l≦p≦k in z^(k) _(i) ₁ _(. . . i) _(k) in problem [1.1] (0.4) below indicates that the track extension represented by z^(k) _(i) ₁ _(. . . i) _(k) includes a false positive in the p^(th) observation set. Note that this implies that a hypothesis be formed incorporating an observation with k−1 gap fillers, e.g., z_(0 . . . 0i) _(p) _(. . . 0), i_(p)≠0. Thus, the resulting generalization of Problem Formulation [1.0] (0.1) without the “less than” complication within the constraints is the following k-Dimensional Assignment Problems in which k≦3:

$\begin{matrix} {{{Minimize}\text{:}\mspace{14mu}{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{k} = 0}^{N_{k}}{c_{i_{1}\ldots\mspace{14mu} i_{k}}z_{i_{1}\ldots\mspace{14mu} i_{k}}}}}}}\begin{matrix} {{{{Subject}\mspace{14mu}{to}\text{:}{~~~}{\sum\limits_{i_{2} = 0}^{N_{2}}{\ldots{\sum\limits_{i_{k} = 0}^{N_{k}}z_{i_{1}\ldots\mspace{14mu} i_{k}}}}}} = 1},{i_{1} = 1},{\ldots\mspace{14mu} N_{1}},} \\ {{{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{j - 1} = 0}^{N_{j - 1}}{\sum\limits_{i_{j + 1} = 0}^{N_{j + 1}}{\ldots{\sum\limits_{i_{k} = 0}^{N_{k}}z_{i_{1}\ldots\mspace{14mu} i_{k}}}}}}}} = 1},\begin{matrix} {{{{for}\mspace{14mu} i_{j}} = 1},{\ldots\mspace{14mu} N_{j}},} \\ {{{{and}\mspace{14mu} j} = 2},{{\ldots\mspace{14mu} k} - 1},} \end{matrix}} \\ {{{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{k - 1} = 0}^{N_{k - 1}}z_{i_{1}\ldots\mspace{14mu} i_{k}}}}} = 1},{i_{k} = 1},{\ldots\mspace{14mu} N_{k}},} \\ {{z_{i_{1}\ldots\mspace{14mu} i_{k}} \in \left\{ {0,1} \right\}},{{\forall{i_{n}\mspace{14mu} n}} = 1},\ldots\mspace{14mu},k,} \end{matrix}} & {\left\lbrack \left\lbrack \lbrack 1.1\rbrack \right\rbrack \right\rbrack(0.4)} \end{matrix}$ where c and z are similarly dimensioned matrices representing costs and hypothetical assignments. Note, in general, for tracking problems these matrices are sparse.

After formulating the k-dimensional assignment problem as in [1.1] (0.4), the present invention solves the resulting problem so as to generate the outputs required by devices 110, 112, 122 and 130. For each observation set o_(i) received from converter 104 at time t_(i) where i=1 . . . , N₁, the computer processes O_(i) in a batch together with the other observation sets O_(i−k+1), . . . , O_(i) and the track T_(i−k), i.e., T_(j) is the set of all tracks that have been defined up to but not including O_(j). (Note, bold type designations refer to the vector of elements for the indicated time, i.e., the set of all observations in the scan or tracks existing at the time, etc.) The result of this processing is the new set of tracks T_(i−k+1) and a set of cost weighted possible solutions indicating how the tracks might extend to the current time t_(i). At time t_(i+1) the batch process is repeated using the newest observation set and deleting the oldest. Thus, there is a moving window of observation sets which is shifted forward to always incorporate the most recent observation set. The effect is that input observation sets are reused for k−1 (k−1) cycles and then on the observation set's k-th k^(th) reuse each observation within the observation set is integrated into a track.

FIG. 7 illustrates various processes implemented upon receipt of each observation set. Except for the addition of the k-dimensional assignment solving process 300 and the modification to scoring process 154 to build data structures suitable for process 300, all processes in FIG. 7 are based upon prior art. The following processes 150 and 152 extend previously defined tracks h_(i−1). based on new observations. Gate formulation and output process 156 determines, for each of the previously defined tracks, a zone wherein the track may potentially extend based on limits of velocity, maneuverability and radar precision. One such technique to accomplish this is the cone method described previously. The definition of the zone is passed to gating process 150. When a new observation set O_(i) is received, the gating process 150 will match each member observation with the zone for each member of the hypothetical set h_(i−1). After all input observations from O_(i) are processed, the new hypothesis set h_(i) is generated by extending each track of the prior set of hypothetical tracks h_(i−1) either with missed detect gap fillers or with all new observation elements satisfying the track's zone. This is a many to many many-to-many matching in that each hypothesis member can be extended to many new observations and each new observation can be used to extend many hypotheses. It, however, is not a full matching in that any hypothesis will neither be matched to all observations nor vice versa. It is this matching characteristic that leads to the sparse matrices involved in the tracking process. Subsequently, gating 150 forwards the new hypothesis set h_(i) to filtering process 152. Filtering process 152 determines a smooth curve for each member of h_(i). Such a smooth curve is more likely than a sharp turn from each point straight to the next point. Further, the filtering process 152 removes small errors that may occur in generating observations. Note that in performing these tasks, the filtering process 152 preferably utilizes a minimization of a least squares test of the points in a track hypothesis or a Kalman Filtering filtering approach.

As noted above, the foregoing track extension process requires knowledge of a previous track. For the initial observations, the following gating process 158 and filtering process 160 determine the “previous track” based on initial observations. In determining the initial tracks, the points from the first observation set form the beginning points of all possible tracks. After observation data from the next observation set is received, sets of simple two point two-point straight line tracks are defined. Then, promotion, gate formulation, and output step 162 determines a zone in which future extensions are possible. Note that filtering step 160 uses curve fitting techniques to smooth the track extensions depending upon the number of prior observations that have accumulated in each hypothesis. Further note that promotion, gate formulation and output process 162 also determines when sufficient observations have accumulated to form a basis for promoting the track to processes 150 and 152 as described above.

The output of each of the filtering processes 152 and 160 is a set of hypothetical track extensions. Each such extension contains the hypothetical initial conditions (from the previous track), the list of observations incorporated in the extension, and distance between each observation and the filtered track curve. Scoring process 154 determines the figure of merit or cost of an observation being an extension of a track. In one embodiment, the cost is based on the above-mentioned distance although the particular formula for determining the cost is not critical to the present invention. A preferred formula for determining the cost utilizes a negative log likelihood function in which the cost is the negative of the sum of: (a) the logs of the distances normalized by sensor standard deviation parameters, and (b) the log likelihoods for events related to: track initiation, track termination, track maneuver, false negatives and false positives. Note that track maneuvers are detected by comparing the previous track curve with the current extension. Further note that some of the other events related to, for example, false negatives and false positives are detected by analyzing the relative relationship of gap fillers in the hypothesis. Thus, after determining that one of these events occurred, a cost for it can be determined based upon suitable statistics tables and system input parameters. The negative log likelihood function is desirable because it permits effective integration of the useful components. Copies of the set of hypothetical track extensions which are scored are subsequently passed directly to one of the gate formulation and output steps 156 and 162. Note that the scoring process 154 also arranges the actual scores in a sparse matrix based upon observation identifiers, and passes them to k-dimensional assignment problem solving process 300.

The assignment solving process 300 is described below. Its output is simply the list of assignments which constitute the most likely solution of the problem described by Equation [1.1] (0.4). Note that both gate formulation and output processes 156 and 162 use (at different times) the list of assignments to generate the updated track history T_(i) to eliminate or prune alternative previous hypotheses that are prohibited by the actual assignments in the list, and, subsequently, to output any required data. Also note that when one of the gate formulation and output processes 156 and 162 accomplish these tasks, the process will subsequently generate and forward the new set of gates for each remaining hypothesis and the processes will then be prepared to receive the next set of observations. In one embodiment, the loop described here will generate zones for a delayed set of observations rather than the subsequent set. This permits processes 156 and 162 to operate on even observation sets while the scoring step 154 and k-dimensional solving process operate on odd sets of observations, or vice versa.

The assignment solving process 300 permits the present invention to operate with a window size of dimension k−1 for some k≧3. The upper limit on k depends only upon the computational power of the computer 106 and the response time constraints of system 100. The k−1 observation sets within the processing window plus the prior track history result in a k-dimensional Assignment Problem as described by Problem Formulation [1.1] (0.4). The present invention solves this generalized problem including the processes required to consider false positives and negatives, and also the processes required to consider sparse matrix problem formulations.

I. A FIRST EMBODIMENT OF THE k-DIMENSIONAL ASSIGNMENT SOLVER 300

In describing a first embodiment of the k-dimensional assignment solver 300, it is worthwhile to also discuss the process of FIG. 4 which is used by the solver 300. FIG. 4 illustrates use of the Frieze and Yadagar process as shown in prior art for transforming a 3-dimensional three-dimensional assignment problem into a 2-dimensional two-dimensional assignment problem and then use a hill climbing algorithm to solve the 3-dimensional three-dimensional assignment problem. The solver 300 uses a Lagrangian Relaxation technique (well known in the art) to reduce the dimension of an original k-dimensional assignment problem (k>3) down to a 3-dimensional three-dimensional problem and then use the process of FIG. 4 to solve the 3-dimensional three-dimensional problem. Further note that the Lagrangian Relaxation technique is also utilized by the process of FIG. 4 and that in using this technique the requirement that each point is assigned to one and only one track is relaxed. Instead, an additional cost, which is equal to a respective Lagrangian Coefficient “u” u, is added to the cost or objective function [1.0] (0.1) (a) whenever a point is assigned to more than one track. This additional cost can be picked to weight the significance of each constraint violation differently, so this additional cost is represented as a vector of coefficients u which are correlated with respective observation points. Hill climbing will then develop a sequence of Lagrangian Coefficients sets designated (u₀, . . . , u_(j), u_(j+1), . . . , u_(p)). That correspond to an optimum solution of the 2-dimensional two-dimensional assignment problem. The assignments at this optimum solution are then used to “recover” the assignment solution of the 3-dimensional three-dimensional assignment problem.

In step 200 of FIG. 4, initial values are selected for the u₀ coefficients. Because the Lagrangian Relaxation process is iterative, the initial values are not critical and are all initially selected as zero. In step 202, these additional costs are applied to the objective function [1.0] (0.1 (a). With the addition of the costs “u” u, the goal is still to assign the points which minimize the total cost. This transforms Equation [1.0] (0.1 (a), written for k=3 and altered to exclude mechanisms related to false positives and negatives, into objective function [2.1] (1.1) (a). In the first iteration it is not necessary to consider the “u” u matrix because all “u” u values are set to zero. To relax the requirement that each point be assigned to one and only one track, the constraint Equation [1.0] (0.1 (d) is deleted, thereby permitting points from the last image to be assigned to more than one track. Note that while any axis can be chosen for relaxation, observation constraints are preferably relaxed. The effect of this relaxation is to create a new problem which must have the same solution in the first two axes but which can have a differing different solution in the third axis. The result is constraints [2.1] (1.1) (b-d).

$\begin{matrix} \begin{matrix} (a) & {{{{Minimiz}e}\left\lbrack \left\lbrack \text{:} \right\rbrack \right\rbrack}\;} & {\sum\limits_{i_{1} = 0}^{N_{1}}\;{\sum\limits_{i_{2} = 0}^{N_{2}}\;{\left\{ \left( {c_{i_{1}i_{2}i_{3}} - {u\left\lbrack \left\lbrack {}_{j\;} \right\rbrack \right\rbrack}_{i_{3}}} \right) \right\} z_{i_{1}i_{2}i_{3}}}}} \\ (b) & {{{Subject}\mspace{14mu}{to}\text{:}}\;} & {{{\sum\limits_{i_{2} = 1}^{N_{2}}\;{\sum\limits_{i_{3} = 1}^{N_{3}}\; z_{i_{1}i_{2}i_{3}}}} = 1},\mspace{14mu}{i_{1} = 1},\ldots\mspace{14mu},N_{1},} \\ (c) & \; & {{{\sum\limits_{i_{1} = 1}^{N_{1}}\;{\sum\limits_{i_{3} = 1}^{N_{3}}\; z_{i_{1}i_{2}i_{3}}}} = 1},\mspace{14mu}{i_{2} = 1},\ldots\mspace{14mu},N_{2},} \\ (d) & \; & {z_{i_{1}i_{2}i_{3}} \in {\left\{ {0,1} \right\}\mspace{79mu}{\forall{z_{i_{1}i_{2}i_{3}}.}}}} \end{matrix} & {\left\lbrack \left\lbrack \lbrack 2.1\rbrack \right\rbrack \right\rbrack(1.1)} \end{matrix}$ Step 204 then generates from the 3-dimensional three-dimensional problem described by Problem Formulation [1.0] (0.1) a new 2-dimensional two-dimensional problem formulation which will have the same solution for the first two indices. As Problem Formulation [2.1] (1.1) has no constraints on the 3_(rd) axis, any value within a particular 3_(rd) axis can be used in a solution, but using anything other than the minimum value from any 3-rd 3^(rd) axis has the effect of increasing solution cost. Conceptually, the effect of step 204 is to change the 3-dimensional three-dimensional arrays in Problem Formulation [2.1] (1.1) into 2-dimensional two-dimensional arrays as shown in Problem Formulation [2.2] (1.2) and to generate the new 2-dimensional two-dimensional matrix m_(i) ₁ _(i) ₂ defined as shown in Equation [2.3] (1.3).

$\begin{matrix} \begin{matrix} (a) & {{{{Minimiz}e}\left\lbrack \left\lbrack \text{:} \right\rbrack \right\rbrack}{\;\mspace{11mu}}} & {\sum\limits_{i_{1} = 0}^{N_{1}}\;{\sum\limits_{i_{2} = 0}^{N_{2}}\;{\left\{ {\begin{matrix} {{Min}\text{:}} \\ {\forall i_{3}} \end{matrix}\left( {c_{i_{1}i_{2}i_{3}} - {u\left\lbrack \left\lbrack {}_{j\;} \right\rbrack \right\rbrack}_{i_{3}}} \right)} \right\} z_{i_{1}i_{2}}}}} \\ (b) & {{{Subject}\mspace{14mu}{to}\text{:}}\;} & {{{\sum\limits_{i_{2} = 1}^{N_{2}}\;{\sum\limits_{i_{3} = 1}^{N_{3}}\; z_{i_{2}i_{3}}}} = 1},\mspace{14mu}{i_{1} = 1},\ldots\mspace{14mu},N_{1},} \\ (c) & \; & {{{\sum\limits_{i_{1} = 1}^{N_{1}}\;{\sum\limits_{i_{3} = 1}^{N_{3}}\; z_{i_{1}i_{3}}}} \leq 1},\mspace{14mu}{i_{2} = 1},\ldots\mspace{14mu},N_{2},} \\ (d) & \; & {{z_{i_{1}i_{2}} \in {\left\{ {0,1} \right\}\mspace{79mu}{\forall z_{i_{1}i_{2}}}}},} \end{matrix} & {\left\lbrack \left\lbrack \lbrack 2.2\rbrack \right\rbrack \right\rbrack\;(1.2)} \\ {m_{i_{1}i_{2}} = {{Min}\text{:}\mspace{14mu}\arg\mspace{14mu}{minimize}\mspace{14mu}\left\{ {{{{c_{i_{1}i_{2}} - u_{\; j_{i}\;}}❘i} = 1},\ldots\mspace{14mu},N_{k}} \right\}}} & {\left\lbrack \left\lbrack \lbrack 2.3\rbrack \right\rbrack \right\rbrack\;(1.3)} \end{matrix}$ The cost or objective function for the reduced problem as defined by [2.2] (1.2) (a), if evaluated at all possible values of u is a surface over the domain of U³ u. This surface is referred to as Φu Φ(u) and is non-smooth but provably convex (i.e., it has a single peak and several other critical characteristics which form terraces). Due to the convex characteristics of Φ(u), the results from solving Problem Formulation (1.2) at any particular u_(j) can be used to generate a new set of

$\begin{matrix} \left\lbrack \left\lbrack \Phi \right. \right. & \; & \; & u & \; & \; & \; \\ \; & \; & \; & \; & \; & \; & \left. \left. u_{j} \right\rbrack \right\rbrack \end{matrix}$ coefficients u_(j+1), whose corresponding Problem Formulation [2.2] problem solution is a cost value is closer to the peak of Φ u U_(P)dimensional Φ(u). The particular set of Lagrangian Coefficients that will generate the two-dimensional problem resulting in the maximum cost is designated u_(p). To recover the solution to the three-dimensional assignment problem requires solving the Equation 2.2 (1.2) problem corresponding to u_(p).

In step 206, the two dimensional (two-dimensional) problem is solved directly using a technique known to those skilled in the art such as Reverse Auction for the corresponding cost and solution values. This is the evaluation of one point on the surface or for the first iteration ΦU₀ Φ(u₀).

Thus, after this first iteration, the points have been assigned based on all “u” values being arbitrarily set to zero. Because the “u” values have been arbitrarily assigned, it is unlikely that these assignments are correct and it is likely that further iterations are required to properly assign the points. Step 208 determines whether the points have been properly assigned after the first iteration by determining if for this set of assignments whether a different set of “u” values could result in a higher total cost. Thus, step 208 is implemented by determining the gradient of objective function [2.2] (1.2 (a) with respect to u_(j). If the gradient is substantially non-zero (greater than a predetermined limit) then the assignments are not at or near enough to the peak of the Φu

-   -   U_(j+1)         surface Φ(u) (decision 210), and the new set of Lagrangian         Coefficients u_(j+1) is determined.

Hill climbing Step 212 determines the u_(j+1) values based upon the u_(j) values, the direction resulting from protecting the previous gradient into the U³ domain, and a step size. The solution value of the 2-dimensional two-dimensional problem is the set of coefficients that minimize the 2-dimensional two-dimensional problem and the actual cost at the minimum. Those coefficients augmented by the coefficients stored in m_(i) ₁ _(i) ₂ permit the evaluation (but not the minimization) of the cost term in Problem Formulation [2.1] (1.1). These two cost terms are lower and upper bounds on the actual minimized cost of the 3-dimensional three-dimensional problem, and the difference between them in combination with the gradient is used to compute the step size.

With this new set of “u” u values, steps 202-210 are repeated as a second iteration. Steps 212 and 202-210 are repeated until the gradient as a function of u determined in step 208 is less than the predetermined limit. This indicates that the up u_(p) values which locate the peak area of the Φ u Φ(u) surface are determined and that the corresponding Problem Formulation [2.2] (1.2) has been solved. Step 214 will attempt to use the assignments that resulted from this particular 2-dimensional two-dimensional assignment problem to recover the solution of the 3-dimensional three-dimensional assignment problem as described below. If the limit was chosen properly so that the “u” u values are close enough to the peak, this recovery will yield the proper set of assignments that rigidly satisfies the constraint that each point be assigned to one and only one track. However, if the “u” u values are not close enough to the peak, then the limit value for decision 210 is reduced and the repetition of steps 212 and 202-210 is continued.

Step 214 recovers the 3-dimensional three-dimensional assignment solution by using the assignment values determined on the last iteration through step 208. Consider the 2-dimensional two-dimensional z assignment matrix to have 1's in the locations specified by the list L₁=(a_(i), b_(i))^(N) _(i=1). If the 3-dimensional three-dimensional z matrix is specified by placing 1's at the location indicated by the list L₂=(a_(i), b_(i), m_(a) _(i) _(b) _(i) )_(N=1) L₂=(a_(i), b_(i), m_(a) _(i) _(b) _(i) )^(N) _(i−1) then the result is a solution of Problem Formulation [2.1] (1.1). Let L₃=(m_(a) _(i) _(b) _(i) )_(N=1) L₃=(m_(a) _(i) _(b) _(i) )^(N) _(i=1) be the list formed by the third index. If each member of L₃ is unique then the L₂ solution satisfies the third constraint so it is a solution to Problem Formulation [1.0] (0.1). When this is not the case, recovery determines the minimal substitutions required within list L₃ so that it plus L₁ will be a feasible solution, i.e., a solution which satisfies the constraints of a problem formulation, but which may not optimize the objective function of the problem formulation. This stage of the recovery process is formulated as a 2-dimensional two-dimensional assignment problem: as follows. Form a new cost matrix [c_(i,j)]^(N) _(i,j=1) where c_(i,j)=c_(a) _(i) _(b) _(i) _(,j) for j=1 . . . N_(i) and the N_(i) term is the total number of cost elements in the selected row of the 3-dimensional three-dimensional cost matrix. Attempt to solve this 2-dimensional two-dimensional problem for the minimum using two constraints sets. If a feasible solution is found then the result will have the same form as list L₁. Replace the first set of indexes indices by the indicated (a_(i), b_(i)) pairs taken from list L₁ and the result will be a feasible solution of Problem Formulation [1.1] (0.4). If no feasible solution to the new 2-dimensional two-dimensional problem exists then further effort to locate the peak of Φ u Φ(u) is required.

$\left\lbrack \left\lbrack \quad \right.\quad \right.\begin{matrix} \; & \Phi & \; \\ \begin{matrix} \; & \; & \; \\ \Phi & \; & \; \\ \; & \; & \; \end{matrix} & \begin{matrix} \; & \; & \; \\ \; & \; & \; \\ \; & \; & \; \end{matrix} & \begin{matrix} \; & \; & \; \\ \; & \Phi & \; \\ \; & \; & \; \end{matrix} \\ \begin{matrix} \; & \; & \; \\ \; & \Phi & \; \\ \; & \; & \; \\ \; & \; & \; \end{matrix} & \begin{matrix} \; & \; & \; \\ \; & \; & \; \\ \; & \; & \; \\ \; & \; & \; \end{matrix} & \begin{matrix} \; & \; & \Phi \\ \; & \; & \; \\ \; & \; & \; \\ i & \; & \; \end{matrix} \end{matrix}\left. \quad \right\rbrack\left. \quad \right\rbrack$ I.1. Generalization to a Multi-Dimensional Assignment Solving Process

Let M be a fixed integer and assume that M is the dimension of the initial assignment problem to be solved. Thus, initially, the result of the scoring step 154 is a M-dimensional Cost Matrix which is structured as a sparse matrix (i.e., only a small percentage of the entries in the cost and assignment matrices are filled or non-zero). Individual cost elements represent the likelihood that a track T_(i) as extended by the set of observations {o_(ÿ)|i=1, . . . , M−1}, is not valid. Because the matrix is sparse the list of cost elements is stored as a packed list, and then for each dimension of the matrix, a vector of a variable length list of pointers to the cost elements is generated and stored. This organization means that for a particular observation o _(y) O_(ij) for the j^(th) list in the i^(th) vector will be a list of pointers to all hypotheses in which o _(y) O_(ij) participates. This structure is further explained in the following section dealing with problem partitioning.

The objective of the assignment solving process is to select from the set of all possible combinations of track extensions a subset that satisfies two criteria. First, each point in the subset of combinations should be assigned to one and only one track and therefore, included in one and only one combination of the subset, and second, the total of the scoring sums for the combinations of the subset should be minimized. This yields the following M-dimensional equations where k=Mk=M:

$\begin{matrix} \begin{matrix} {{(a)\mspace{14mu}{Minimize}\text{:}\mspace{11mu}{v_{k}\left( z^{k} \right)}} =} & {\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{k} = 0}^{N_{k}}{c_{i_{1}\ldots\mspace{14mu} i_{k}}^{k}z_{i_{1}\ldots\mspace{14mu} i_{k}}^{k}}}}} \\ {(b)\mspace{14mu}{Subject}\mspace{14mu}{to}\text{:}} & {{{\sum\limits_{i_{2} = 0}^{N_{2}}{\ldots{\sum\limits_{i_{k} = 0}^{N_{k}}z_{i_{1}\ldots\mspace{11mu} i_{k}}^{k}}}} = 1}\mspace{11mu}} \\ \; & {\;{{i_{1} = 1},{\ldots\mspace{20mu} N_{1}},}} \\ (c) & {{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{j - 1} = 0}^{N_{j - 1}}{\sum\limits_{i_{j + 1} = 0}^{N_{j + 1}}{\ldots{\sum\limits_{i_{k} = 0}^{N_{k}}z_{i_{1}\ldots\mspace{11mu} i_{k}}^{k}}}}}}} = 1} \\ \; & \begin{matrix} {{{{for}\mspace{14mu} i_{j}} = 1},{\ldots\mspace{14mu} N_{j}}} \\ {{{{and}\mspace{14mu} j} = 2},{{\ldots\mspace{14mu} k} - 1},} \end{matrix} \\ (d) & {{{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{k - 1}}^{N_{k - 1}}z_{i_{1}\ldots\mspace{11mu} i_{k}}^{k}}}} = 1}\mspace{11mu}} \\ \; & {\;{{i_{k} = 1},{\ldots\mspace{11mu} N_{k}},}} \\ (e) & {{z_{i_{1}\ldots\mspace{11mu} i_{k}}^{k} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}\ldots\mspace{20mu} l_{k}}},} \end{matrix} & {\left\lbrack \left\lbrack \lbrack 3.1\rbrack \right\rbrack \right\rbrack(1.4)} \end{matrix}$ and where c^(k) is the cost matrix [c^(k) _(i) ₁ . . . , _(i) _(k) ] which is a function of the distance between the observed point z^(k) and the smoothed track determined by the filtering step, and v_(k) is the cost function. This set of equations is similar to the set presented in Problem Formulation [1.1] (0.4) except that it includes the subscript and superscript k notation. Thus, in solving the M-dimensional Assignment Problem the invention reduces this problem to an M−1 dimensional (M−1)-dimensional Assignment Problem and then to an N−2 dimensional (N−2)-dimensional Assignment Problem, etc. Further, the symbol kε{3, . . . ,M} customizes Problem Formulation [3.1] (0.4) to a particular relaxation level. That is, the notation is used to reference data from levels relatively removed as in c^(k+1) are the cost coefficients which existed prior to this level of relaxed coefficients c^(k). Note that actual observations are numbered from 1 to N_(i), where N_(i) is the number of observations in observation set i. Further note that the added 0 O observation in each set of observations is the unconstrained “gap filler.” This element serves as a filler in substituting for missed detects, and a sequence of these elements including only one true observation represents the possibility that the observation is a false positive. Also note that by being unconstrained a gap filler may be used in as many hypotheses as required.

While direct solution to [3.1] (0.4) would give the precise assignment, the solution of k-dimensional equations directly for large k is too complex and time consuming for practice. Thus, the present invention solves this problem indirectly.

The following is a short description of many aspects of the present invention and includes some steps according to the prior art. The first step in solving the problem indirectly is to reduce the complexity of the problem by the previously known and discussed Lagrangian Relaxation technique. According to the Lagrangian Relaxation technique, the absolute requirement that each point is assigned to one and only one track is relaxed such that for some one image, points can be assigned to more than one track. However, a penalty based on a respective Lagrangian Coefficient u^(k) is added to the cost function when a point in the image is assigned to more than one track. The Lagrangian Relaxation technique reduces the complexity or “dimension” of the formulation of the assignment problem because constraints on one observation set are relaxed. Thus, the Lagrangian Relaxation is performed iteratively to repeatedly reduce the dimension until a 2-dimensional two-dimensional penalized cost function problem results as in Problem Formulation [2.1] (1.1). This 2-dimensional two-dimensional problem is solved then directly by a previously known technique such as Reverse Auction. The penalized cost function for the 2-dimensional two-dimensional problem defines a valley or convex shaped surface which is a function of various sets of {u^(k)|k=3, . . . ,M} penalty values and one set of assignments for the points in two dimensions. That is, for each particular u³ there is a corresponding 2-dimensional two-dimensional penalized cost function problem and its solution. Note that the solution of the 2-dimensional two-dimensional penalized cost function problem identifies the set of assignments for the particular u³ values that minimize the penalized cost function. However, these assignments are not likely to be optimum for any higher dimensional problem because they were based on an initial arbitrary set of u_(k) values. Therefore, the next step is to determine the optimum assignments for the related 3-dimensional three-dimensional penalized cost function problem. There exists a 2-dimensional two-dimensional hill shaped function

$\begin{matrix} \; & \left\lbrack \left\lbrack \Phi \right. \right. & \; & \; & \; \\ u^{3} & \; & \; & \; & \left. \left. \left. {u^{3}❘{k > 3}} \right\} \right\rbrack \right\rbrack \end{matrix}$ Φ which is a graph of the minimums of all penalized cost functions at various sets of assignments in two dimensions. For the three-dimensional problem, the function Φ can be defined based on the solution to the foregoing two-dimensional penalized cost function. By using the current u³ values and the {u^(k)|k>3} values originally assigned. Then, the gradient of the hill-shaped Φ

u³

function Φ is determined, which points toward the peak of the hill. By usin the gradient and u³ values previously selected for the one point on the hill (corresponding to the minimum of the penalized cost Φ

-   -   U³         function Φ) as a starting point, the u³ values can be found for         which the corresponding problem will result in the peak of the

$\begin{matrix} \left\lbrack \left\lbrack \Phi \right. \right. & \; & \; & \; & \; & \; & \; & \; & \; \\ \; & \; & \; & \; & \; & \; & \alpha & \; & \left. \left. \alpha \right\rbrack \right\rbrack \end{matrix}$ function Φ. The solution of the corresponding two-dimensional problem is the proper values for two of the three sets of indices in the three-dimensional problem. These solution indices can select a subsection of the cost array which maps to a two-dimensional array. The set of indices which minimize the two-dimensional assignment problems based on that array corresponds to the proper assignment of points in the third dimension. The foregoing “recovery” process was known in the prior art, but it is modified here to adjust for the sparse matrix characteristic. The next task is to recover the solution of the proper u⁴ values for the 4-dimensional four-dimensional problem. The foregoing hill climbing process will not work again because the foregoing hill climbing process when required to locate the 4-dimensional four-dimensional u⁴ values for the peak of Φ³ exact definition of the Φ³ case of Φ² Φ³ requires the exact definition of the function Φ³ (as was available in the case of Φ²) or an always less than approximation of Φ³, whereas the iteration can result in a greater than approximation of Φ³

$\begin{matrix} \left\lbrack \lbrack \right. & \; & \; & {{function}\mspace{14mu}\psi} & \; & \alpha & \; & \alpha \\ \; & \; & \; & \Phi & \; & \; & \; & \; \\ \; & \; & \; & \; & \; & U^{k} & \; & \; \\ \; & \; & \; & {{gradient}\mspace{14mu}{of}} & {the} & \psi & \; & \; \\ \; & \; & \; & u^{4} & \; & \left. \left. u^{4} \right\rbrack \right\rbrack & \; & \; \end{matrix}$ Φ³. According to the present invention, another three-dimensional function Ψ is defined which is a “less than approximation” the three-dimensional function Φ and which can be defined based on the solution to the two-dimensional penalized cost function and the previously assigned and determined u^(k) values. Next, the gradient of the function Ψ is found and hill climbing technique used to determine the u⁴ values at the peak. Each selected u⁴ set results in a new 3-dimensional three-dimensional problem and requires the 2-dimensional two-dimensional hill climbing based upon new 2-dimensional two-dimensional problems. At the peak of the 3-dimensional Ψ three-dimensional function Ψ, the solution values are a subset of the values required for the four-dimensional solution. Recovery processing extends the subset to a complete solution. This process is repeated iteratively until the u^(k) values that result in a corresponding solution at the peak of the highest order Ψ Φ

Φfunctions Ψ and Φ are found. The final recovery process then results in the solution of k-dimensional problem. FIG. 5 illustrates process 300 in more detail.

I.2. Problem Formulation

In problem formulation step 310, all data structures for the subsequent steps are allocated and linked by pointers as required for execution efficiency. The incoming problem is partitioned as described in the subsequent section. This partitioning has the effect of dividing the incoming problem into a set of independent problems and thus reducing the total workload. The partitioning process depends only on the actual cost matrix so the partitioning can and is performed for all levels of the relaxation process.

I.2.1. Relaxation and Recovery

Step 320 begins the Lagrangian Relaxation process for reducing the M-dimensional problem by selecting all Lagrangian Coefficient u^(M) penalty values initially equal to zero. The Lagrangian Coefficients associated with the M^(th) constraint set are a N_(M+1) elementan (N_(M)+1)-element vector. The reduction of this M-dimensional problem in step 322 to a M−1 dimensional (M−1)-dimensional problem uses the two step process described above. First, a penalty based on the value of the respective u^(M) coefficient is added to the cost function when a point is assigned to more than one track and then the resultant cost function is minimized. However, during the first iteration, the penalty is zero because all u^(M) values are initially set to zero. Second, the requirement that no point from any image can be assigned to more than one track is relaxed for one of the images. In the extreme this would allow a point from the relaxed image to be associate with every track. However, the effect of the previous penalty would probably mean that such an association would not minimize the cost. The effect of the two steps in combination is to remove a hard constraint while adding the penalty to the cost function so that it operates like a soft constraint. For step 322 this two step two-step process results in the following penalized cost function problem with k=M:

$\begin{matrix} \begin{matrix} {{(a){~~~}{\Phi_{k}\left( u^{k} \right)}} \equiv {{Minimize}\text{:}\mspace{11mu}{\phi_{k}\left( {u^{k},z^{k}} \right)}}} \\ {= {{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{k} = 0}^{N_{k}}{c_{i_{1}\ldots\mspace{14mu} i_{k}}^{k}z_{i_{1}\ldots\mspace{14mu} i_{k}}^{k}}}}} -}} \\ {\sum\limits_{i_{k} = 0}^{N_{k}}{u_{i_{k}}^{k}\left\lbrack {{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{k - 1}}^{N_{k - 1}}z_{i_{1}\ldots\mspace{14mu} i_{k}}^{k}}}} - 1} \right\rbrack}} \\ {= {{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{k} = 0}^{N_{k}}{\left( {c_{i_{1}\ldots\mspace{14mu} i_{k}}^{k} - u_{i_{k}}^{k}} \right)z_{i_{1}\ldots\mspace{14mu} i_{k}}^{k}}}}} + {\sum\limits_{i_{k} = 0}^{N_{k}}u_{i_{k}}^{k}}}} \end{matrix} & {\left\lbrack \left\lbrack \lbrack 3.2\rbrack \right\rbrack \right\rbrack\;(1.5)} \\ \begin{matrix} (b) & {{Subject}\mspace{14mu}{to}\text{:}} & {{{\sum\limits_{i_{2} = 0}^{N_{2}}{\ldots{\sum\limits_{i_{k} = 0}^{N_{k}}z_{i_{1}\ldots\mspace{14mu} i_{k}}^{k}}}} = {{1\mspace{14mu} i_{1}} = 1}},{\ldots\; N_{1}},} \\ (c) & \; & {{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{j - 1} = 0}^{N_{j - 1}}{\sum\limits_{i_{j + 1} = 0}^{N_{j + 1}}{\ldots{\sum\limits_{i_{k} = 0}^{N_{k}}z_{i_{1}\ldots\mspace{14mu} i_{k}}^{k}}}}}}} = {1\mspace{14mu}}} \\ \; & \; & {\mspace{160mu}\begin{matrix} {{{{for}\mspace{14mu} i_{j}} = 1},{\ldots\mspace{14mu} N_{j}}} \\ {{{{and}\mspace{14mu} j} = 2},{{\ldots\mspace{14mu} k} - 1},} \end{matrix}} \\ (d) & \; & {z_{i_{1}\ldots\mspace{11mu} i_{k}}^{k} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}\ldots\mspace{20mu}{l_{k}.}}} \end{matrix} & \; \end{matrix}$ Because the constraint on single assignment of elements from the last image has been eliminated, a M−1 dimensional an (M−1)-dimensional problem can be developed by eliminating some of the possible assignments. As shown in Equations [3.3] (1.6), this is done by selecting the smallest cost element from each of the M^(th) axis vectors of the cost matrix. Reduction in this manner yields a new, lower order lower-order penalized cost function defined by Equations [3.3] (1.6) which has the same minimum cost as does the objective function defined by [3.2] (1.5) (a) above.

The cost vectors are selected as follows. Define an index array m^(k) _(i) ₁ . . . _(i) _(k−) ₁ and a new cost array c^(k−1) _(i) ₁ _(. . . ,i) _(k−1) by:

$\begin{matrix} {{\left\lbrack \left\lbrack \quad \right.\quad \right.m_{i_{1}\ldots\mspace{11mu} i_{k}}^{k}} = {{Min}\text{:}\mspace{14mu}\arg\mspace{14mu}{minimize}\mspace{14mu}\left\{ {{{{c_{i_{1}\ldots\mspace{11mu} i_{k}}^{k} - u_{i_{k}}^{k}}❘i_{k}} = 0},1,{\ldots\mspace{11mu} N_{k}}} \right\}\left. \quad \right\rbrack\left. \quad \right\rbrack}} & \left\lbrack \left\lbrack \lbrack 3.3\rbrack \right\rbrack \right\rbrack \\ \begin{matrix} {c_{i_{1}\ldots\mspace{11mu} i_{k - 1}}^{k - 1} = {{c_{i_{1}\ldots\mspace{11mu} i_{k - 1}}^{k}m_{i_{1}\ldots\mspace{11mu} i_{k}}^{k}\mspace{14mu}{for}\mspace{14mu}\left( {i_{1},\ldots\mspace{14mu},i_{k - 1}} \right)} \neq \left( {0,\ldots\mspace{14mu},0} \right)}} \\ {c_{0,\ldots\mspace{11mu},0}^{k - 1} = {\sum\limits_{i_{k} = 0}^{N_{k}}{\min\mspace{14mu}\left\{ {0,{c_{0\ldots\mspace{11mu} 0}^{k} - u_{i_{k}}^{k}}} \right\}}}} \end{matrix} & {\;\;(1.6)} \end{matrix}$ The resulting M−1 dimensional (M−1)-dimensional problem is (where k=M):

$\begin{matrix} {{\Phi_{k}\left( u^{k} \right)} = {{{Minimize}\text{:}\mspace{11mu}{v_{k - 1}\left( z^{k - 1} \right)}} = {\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{k - 1} = 0}^{N_{k - 1}}{c_{i_{1}\ldots\mspace{14mu} i_{k - 1}}^{k - 1}z_{i_{1}\ldots\mspace{14mu} i_{k - 1}}^{k - 1}}}}}}} & {\left\lbrack \left\lbrack \lbrack 3.4\rbrack \right\rbrack \right\rbrack\;(1.7)} \\ \begin{matrix} {{Subject}\mspace{14mu}{to}\text{:}} & {{{\sum\limits_{i_{2} = 0}^{N_{2}}{\ldots{\sum\limits_{i_{k} = 0}^{N_{k}}z_{i_{1}\ldots\mspace{14mu} i_{k}}^{k - 1}}}} = {{1\mspace{14mu} i_{1}} = 1}},{\ldots\mspace{14mu} N_{1}},} \\ \; & {{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{j - 1} = 0}^{N_{j - 1}}{\sum\limits_{i_{j + 1} = 0}^{N_{j + 1}}{\ldots{\sum\limits_{i_{k} = 0}^{N_{k}}z_{i_{1}\ldots\mspace{14mu} i_{k}}^{k - 1}}}}}}} = {1\mspace{14mu}}} \\ \; & {\mspace{256mu}\begin{matrix} {{{{for}\mspace{14mu} i_{j}} = 1},{\ldots\mspace{14mu} N_{j}}} \\ {{{{and}\mspace{14mu} j} = 2},{{\ldots\mspace{14mu} k} - 1},} \end{matrix}} \\ \; & {{{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{k - 2} = 0}^{N_{k - 2}}z_{i_{1}\ldots\mspace{14mu} i_{k - 1}}^{k - 1}}}} = {{1\mspace{14mu} i_{k - 1}} = 1}},{\ldots\mspace{14mu} N_{k - 1}},} \\ \; & {z_{i_{1}\ldots\mspace{11mu} i_{k}}^{k} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}\ldots\mspace{20mu}{l_{k - 1}.}}} \end{matrix} & \; \end{matrix}$ Assignment Problem [3.1] (1.4) and Problem Formulation [3.4] (1.7) differ only in the dimension M vs. M−1, respectively. An optimal solution to [3.4] (1.7) is also an optimal solution to equation [3.2] (1.5). This relationship is the basis for an iterative sequence of reductions indicated by steps 320-332 through 330-332 and 200-204 in which the penalized cost function problem is reduced to a two dimensional two-dimensional problem. As these formula will be used to describe the processing at all levels, the lowercase k is used except where specific reference to the top level is needed. In step 206, the 2-dimensional two-dimensional penalized cost function is solved directly by the prior art Reverse Auction technique. Each execution of 206 produces two results, the set of z² values that minimize the problem and the cost that results v² when these z values are substituted into the objective function [3.4] (1.7) (a).

In step 208, according to the prior art, solution z² values are substituted into the 2-dimensional two-dimensional derivative of the surface Φ₂. The result indicates how the value of u³ should be adjusted so as to perform the hill climbing function. As was previously described the objective is to produce a sequence of u³ _(i) values which ends when the U³ _(p) u³ _(p) value is in the domain of the peak of the surface Φ. The section “Determining Effective Gradient” describes how new values are computed and how it is determined that the current u_(i) ^(k) points

$\begin{matrix} \left\lbrack \lbrack \right. & \; & \; & \; & \alpha & \; & \; & \; & \; & \; & \; & \; & \; & \; & \alpha & \; & \; & \; & \; & \; \\ \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \left. \left. u^{k} \right\rbrack \right\rbrack & \; \end{matrix}$ to the peak of Φ₂. When no further adjustment is required the flow moves to step 214 which will attempt to recover the 3-dimensional three-dimensional solution as previously described. When further adjustment is required then the flow progresses to step 212 and the new values of U^(k) are computed. At the 2-dimensional three-dimensional level the method of the prior art could be used for the hill climbing procedure. However, it is not practical to use this prior art hill climbing technique to determine the updated Lagrangian Coefficients u^(k) or the Max on the next (or any) higher order surface Φbecause the next (or any) higher dimensional function Φ cannot be defined based on known information.

[[ϕ         u^(k)]]

Instead, the present invention defines a new function based on known information which is useful for hill climbing from the third to the fourth and above dimensions, i.e., u^(k) values which result in z values that are closer to the proper z values for the highest k-dimension. This hill climbing process (which is different than that used in the prior art of FIG. 4 for recovering only the three dimensional three-dimensional solution) is used iteratively at all lower dimensions k of the M-dimensional problem (including the 3-dimensional three-dimensional level where it replaces prior art) even when k is much larger than three. FIG. 6 helps to explain this new hill climbing technique and illustrates the original k-dimensional cost function v_(k) of Problem Formulation [3.1] (1.4). However, the actual k-dimensional cost surface v_(k) defined by [3.1] (1.4) (a) comprises scalar values at each point described by k-dimensional vectors and as such can not be drawn. Nevertheless, for illustration purposes only, FIG. 6 ignores the reality of ordering vectors and illustrates a concave function v_(k)(z^(k)) to represent Equation 3.1. (1.4). The v_(k) surface v_(k) is illustrated as being smooth to simplify the explanation although actually it can be imagined to be terraced. The goal of the assignment problem is to find the values of z ^(k); these values minimize the k-dimensional cost function v_(k).

For purposes of explanation, assume that in FIG. 6, k=4 (the procedure is used for all k≦3). This problem is reduced by two iterations of Lagrangian Relaxation to a 2-dimensional two-dimensional penalized cost function _(Φ) _(j) ^((k−1)) ^(i) . This cost function, and all other cost functions described below, are also non-smooth and continuous but are illustrated in FIG. 6 as smooth for explanation purposes. Solving the Φ_(j) ^((k−1)) ^(i) problem results in one set of z² assignments and the value of Φ_((k−1)) _(i) at the point u² _(ij). A series of functions Φ_(j) ^((k−1)) ^(i) , . . . , Φ₁ ^((k−1) ^(i) ⁾ ^(i) each generated from a different u³ are shown. The particular series illustrates the process of locating the peak of Φ_((k−1)) _(i) . The 2-dimensional two-dimensional penalized cost functions Φ_(j) ^((k−1)) ^(i) , . . . , Φ₁ ^((k−1)) ^(i) can be solved directly. Each such solution provides the information required to calculate the next u³ value. Each iteration of the hill climbing improves the selection of u³ values, i.e., yields Φ² solution is closer to those at the solution of the Φ³ The result of solving Φ₁ ^((k−1)) _(i) is values that are on both Φ_((k−1)) _(i) and Φ_(k) Φ_(k). FIG. 6 illustrates the surface Φ_(k) which comprises the minimums of all k-dimensional penalized cost function surfaces Φ_(k), i.e., if the Problem Formulations (1.5) and [3.4] (1.7) were solved at all possible values of u^(k) the function Φ_(k) k Φ_(k) (u_(k)) would result. The surface Φ_(k) is always less than the v_(k) surface v_(k) except at the peak as described in Equation 3.5 (1.8) and its maximum occurs where the v_(k) surface v_(k) is minimum. Because the Φk the Φ_(k) Φ_(k) v_(k) surface. The Φ_(k) represents the minimum of the surface Φ_(k), any point on the surface Φ_(k) can mapped to the surface v_(k). The function Φ_(k) provides a lower bound on the minimization problem described by [3.1] (1.4) (a). Let z ^(k) be the unknown solution to Problem Formulation [3.1] (1.4) and note that: Φ^(k)(u^(k))≦v_(k)( z _(i) ^(k))≦v_(k−1)(z^(k))   [3.5] (1.8) Consequently, the z^(k) values z^(k) at the peak of Φ_(k) (i.e., the greatest lower bound on the cost of the relaxed problem), can be substituted into the k-dimensional penalized cost function to determine the proper assignments. Consequently, the present invention attempts to find the maximum on the Φ_(k) surface Φ_(k). However, it is not possible to use the prior art hill climbing to hill climb to the peak of Φ_(k) definition of Φ_(k) functions Φ. As the solution of Φ^(k) _(i) in that higher order u values of u are not yet optimized, its value can be larger than the true peak of Φk lower bound on v_(k) and it can not be used to recover the required solution.

Instead, the present invention defines all auxiliary function functions Ψ_(k) dimensional penalized cost function problem, lower order z^(k) values and u^(k) values determined previously by the reduction process. The Ψ_(k) Φ_(k) and its gradient is used for hill climbing to its peak. The z^(k) values z^(k) at the peak of the Ψ_(k) into Problem Formulation [3.2](1.5) to determine the proper assignments. To define the Ψ_(k) explicitly makes the function Φ_(k) U^(k) order sets of Lagrangian Coefficients with the expanded notation: Φ_(k) U^(k) U^(k+1) U^(k) Ψ Φ_(k)(u^(k); u^(k+1), . . . ,u^(k)). Then, a new set of functions Ψ, is defined recursively, using the Φ_(k) Φ_(k)'s domain:

$\begin{matrix} {{\Psi_{3}\left( u^{3} \right)} = {{v_{2} + {\sum\limits_{i_{3} = 0}^{N_{3}}\; u_{i_{3}}^{3}}} = {\Phi_{3}\left( {{u^{3};u^{4}},\ldots\mspace{14mu},u^{K}} \right)}}} & \left\lbrack {\left\lbrack {\lbrack 3.6\rbrack(a)}{\rbrack\rbrack} \right.\;(1.9)} \right. \end{matrix}$ where v₂ is the solution value for the most recent 2-dimensional two-dimensional penalized cost function problem. For k>3

$\begin{matrix} {{\Psi_{3}\left( {u^{3},{{\ldots\mspace{14mu} u^{k - 1}};u^{k}}} \right)} = \left\{ \begin{matrix} {{\Phi_{k}\left( {{u^{k};u^{k + 1}},\ldots\mspace{14mu},u^{K}} \right)},} & {{{if}\mspace{14mu}{known}},} \\ {{{\Psi_{k - 1}\left( {u^{3},\ldots\mspace{14mu},{u^{k - 2};u^{k - 1}}} \right)} + {\sum\limits_{i_{k} = 0}^{N_{k}}\; u_{i_{k}}^{k}}},} & {{otherwise}.} \end{matrix} \right.} & {\left\lbrack \left\lbrack {\lbrack 3.6\rbrack(b)} \right\rbrack \right\rbrack(1.10)} \end{matrix}$ From the definition definitions of Φ_(k k) Φ_(k) and v_(k) (Problem Formulation (1.7) compared with Problem Formulation [3.2] (1.5)):

${\Phi_{k}\left( {{u^{k};u^{k + 1}},\ldots\mspace{14mu},u^{M}} \right)} = {{v_{k - 1}\left( z^{k - 1} \right)} + {\sum\limits_{i_{k} = 0}^{N_{k}}\; u_{i_{k}}^{k}}}$ it follows that:

${\Psi_{3}\left( u^{3} \right)} = {{v_{2} + {\sum\limits_{i_{3} = 0}^{N_{3}}\; u_{i_{3}}^{3}}} = {{\Phi_{3}\left( {{u^{3};u^{4}},\ldots\mspace{14mu},u^{M}} \right)} \leq {v_{3}^{3}\left( z^{3} \right)}}}$ and with that Equation 3.5 (1.8) is extended to: Ψ_(k)(u³, . . . , u^(k−1);u^(k))≦Φ_(k)(u^(k);u^(k+1), . . . , u^(M)≦v_(k)(ū^(k))≦v_(k)(u^(k))   [3.7] (1.11) This relationship means that either Φ_(k) or Ψ_(k) may be used in hill climbing to update the Lagrangian Coefficients u. Φ_(k) is the preferred choice, however it is only available when the solution to Problem Formulation [3.2] (1.5) is a feasible solution to Problem Formulation [3.1] (1.4) (as in hill climbing from the second to third dimension which is why prior art worked). For simplicity in implementation, the function Ψ_(k) is defined so that it equals Φ_(k) when either function could be used. It is therefore always used, even for hill climbing from the second dimension. The use of the function Ψ which is based on previously assigned or determined u values and not higher order u values which are not yet determined, is an important feature of the present invention.

[[u  u                                     __________________________________________      Ψ_(k)]]

I.2.2. Determining Effective Gradient

After the function Ψ_(k) is defined, the next steps of hill climbing/peak detection are to determine the gradient of the Ψ_(k) function Ψ_(k), determine an increasing portion of the gradient and then move up the Ψ_(k) surface Ψ_(k) in the direction of this increasing portion of the gradient. As shown in FIG. 6, any upward step on the Ψ_(k) the Φ_(kj) U^(k) α α surface Ψ_(k), for example, to the minimum of the Φ^(k) _(j) will yield a new set of values u^(k) (to the “left”) that is closer to the ideal set of values u^(k) values which correspond to the minimum of the v_(k) function v_(k). While it is possible to iteratively step up this Ψ_(k) surface Ψ_(k) with steps of fixed size and then determine if the peak has been reached, the present invention optimizes this process by determining the single step size from the starting point at the minimum of Φ_(k) _(i) Φ^(k) _(i) that will jump to the peak and then calculating calculate the values u^(k) values at the peak. Once the f. “u”s values u at the peak at of Ψ_(k) are determined, then the values u^(k) values can be substituted into Problem Formulation [3.2] (1.5) to determine the proper assignment. (However, in a more realistic example, where k is much greater than three, then the values u^(k) values at the peak of the function Ψ along with the lower order lower-order values u^(k) values and those assigned and yielded by the reduction steps are used to define the next higher level function Ψ. This definition of a higher order function Ψ and hill climbing process are repeated iteratively until Ψ_(k), the peak of Ψ_(k), and the values u^(k) at the peak of Ψ_(k) are identified.) The following is a description of how to determine the gradient of each surface Ψ and how to determine the single step size to jump to the peak from the starting point on each surface Ψ.

[[            Ψ                              Ψ           Ψ_(k)               Ψ_(k)    u^(k)   Ψ_(k)                                     ]] determine the gradient of each Ψ

[[        Ψ                  Ψ]]

As noted above, each surface Ψ is non-smooth. Therefore, if a gradient was taken at a single point, the gradient may not point toward the peak. Therefore, several gradients (a “bundle”) are determined at several points on the surface Ψ_(k) in the region of the starting point (i.e., minimum of Φ_(k) _(i) ) and then averaged. Statistically, the averaged result should point toward the peak of the surface Ψ_(k). Wolfe's Conjugate Subgradient Algorithm (Wolfe75, Wolfe79 P. Wolfe. A method of conjugate subgradients for minimizing non-differentialbe functions. Mathematical Programming Study, 3:145-173, 1975; P. Wolfe. Finding the nearest point in a polytope. Mathematical Programming Study, 11:128-149, 1976) for minimization was previously known in another environment to determine a gradient of a non-smooth surface using multiple subgradients and can be used with modification in the present invention. Wolfe's algorithm is further described in “A Method of Conjugate Subgradients for Minimizing Nondifferentiable Functions” page 147-173 published by Mathematical Programming Study 3 in 1975 and “Finding the Nearest Point in a Polytope” page 128-149 published by Mathematical Programming Study 11 in 1976. The modification to Wolfe's algorithm uses the information generated for Ψ_(k) U^(k3) U^(kk−2) U^(kk−1) for calculating the subgradients. The definition of a subgradient v of Ψ_(k) U^(k3) U^(kk) subdifferential set defined as: δΨ_(k)(u)=}vεR^(A) ^(−k) +1|(Ψ_(k)(U^(k3), . . . , U^(kk−1);U′)−Ψ_(k)(U^(k3), . . . , U^(j−1);U^(k)))≧v^(T)(U′−U^(k)) ∀U′εR^(N) ^(k) +1} (where v^(T) is the transpose of v) where v^(T) is the transpose of v.

Next, a subgradient vector is determined from this function. If z^(h) is the solution of Problem Formulation [3.2] (1.5), then differentiating Ψ_(k) U³ U^(k−1) U^(k) U^(k) _(ik) evaluating the result with respect to the current selection matrix z^(k) yields a subgradient vector:

$g = \left( {0,\left( {{{{1 - {\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{k - 1} = 0}^{N_{k}}z_{i_{1},{\ldots\mspace{14mu} i_{k}}}^{k}}}}}❘i_{k}} = 1},\ldots\mspace{14mu},N_{k}} \right)} \right)$ The iterative nature of the solution process at each dimension yields a set of such subgradients. Except for a situation described below where the resultant averaged gradient does not point toward the peak, the most recent set of such subgradients are saved and used as the “bundle” for the peak finding process for this dimension. For example, at the k level k there is a bundle of subgradients of the surface Ψ_(k) near the minimum of the Φ_(k) _(i) surface Φ^(k) _(i) determined as a result of solving Problem Formulation [3.1] (1.4) at all lower levels. This bundle can be averaged to approximate the gradient. Alternately, the previous bundle can be discarded so as to use the new value to initiate a new bundle. This choice provides a way to adjust the process to differing classes of problems, i.e., when data is being derived from two sensors and the relaxation proceeds from data derived from one sensor to the other then the prior relaxation data for the first sensor could be detrimental to performance on the second sensors data.

I.2.3. Step Size and Termination Criterion

After the average gradient of the surface Ψ_(k) is determined, the next step is to determine a single step that will jump to the peak of the surface Ψ_(k). The basic strategy is to first to specify an arbitrary step size, and then calculate the value of Ψ_(k) at this step size in the direction of the gradient. If the Ψ_(k) value of Ψ_(k) is larger than the previous one, this probably means that the step has not yet reached the peak. Consequently, the step size is doubled and a new Ψ_(k) value of Ψ_(k) is determined and compared to the previous one. This process is repeated until the new value of Ψ_(k) is less than the previous one. At that time, the step has gone too far and crossed over the peak. Consequently, the last doubling is rolled-back and that step size is used for the iteration. If the initial estimated Ψ_(k) is less than previous value then the step size is decreased by 50%. If this still results in a smaller value of Ψ_(k), then the last step is rolled back and the previous step size is decreased by 25%. The following is a more detailed description of this process.

With a suitable bundle of subgradients determined as just described, . Wolfe's algorithm can be used to determine the effective subgradient (d) d and the Upgraded upgraded value U^(k) _(j+1). From the previous iteration, or from an initial condition, there exists a step length value (t) t. The value, u₊=u^(k) _(j)+td is calculated as an estimate of u^(k) _(j+1). To determine if the current step size is valid the we evaluate Ψ_(k) u³ u^(k−2)u₊ If the result represents an improvement then we double the step size. Otherwise we halve the step size. In either case a new u₊ is calculated. The doubling or halving continues until the step becomes too large to improve the result, or until it becomes small enough to not degrade the result. The resulting suitable step size is saved with d as part of the subgradient bundle. The last acceptable u₊ is assigned to u^(k) _(j+1).

Three distinct criterion criteria are used to determine when u^(k) _(j) is close enough to ū^(k):

-   -   1. The Wolfe's algorithm criterion of d=0 given that the test         has been repeated with the bundle containing only the most         recent subgradient.     -   2. The difference between the lower bound Φ_(k) u^(k) upper         bound v_(k) (z^(k), u^(k)k) being less than a preset relative         threshold. (Six percent was found to be an effective threshold         for radar tracking problems.)     -   3. An iteration count being exceeded.

The use of limits on the iteration are particularly effective for iterations at the level 3 through (n−1 levels,) as these iterations will be repeated so as to resolve higher order coefficient sets. With limited iterations the process is in general robust enough to improve the estimate of upper order Lagrangian Coefficients. By limiting the iteration counts then the total processing time for the algorithm becomes deterministic. That characteristic means the process can be effective for real time problems such as radar, where the results of the last scan of the environment must be processed prior to the next scan being received.

I.2.4. Solution Recovery

The following process determines if the u^(k) values at what is believed to be the peak of the function Ψ_(k) adequately approximate the u^(k) values at the peak of the corresponding Φ_(k) function Φ_(k). This is done by determining if the corresponding penalized cost function is minimized. Thus, the u^(k) values at the peak of the function Ψ_(k) are first substituted into Problem Formulation [3.2] (1.5) to determine a set of z assignments for k−1 points. During the foregoing reduction process, Problem Formulation [3.4] (1.7) yielded a tentative list of k selected z points that can be described by their indices as: {(i^(j) _(i). . . i^(j) _(k−1))}^(N) ⁰ where N₀ is the number of cost elements selected into the solution. One possible solution of Problem Formulation [3.1] (1.4) is the solution of Problem Formulation [3.2] (1.5) which is described as {(i^(j) _(i). . . i^(j) _(k−1)m^(k) _(i) ₁ . . . i_(k−1))}^(N) _(j=1) [3.3] (1.6). If this solution satisfies the k-th k^(th) constraint set, then it is the optimal solution.

However, if the solution for Problem Formulation [3.2] (1.5) is not feasible (decision 355), then the following adjustment process determines if a solution exists which satisfies the k-th k^(th) constraint while retaining the assignments made in solving Problem Formulation [3.4] (1.7). To do this, a 2-dimensional two-dimensional cost matrix is defined based upon all observations from the k-th k^(th) set which could be used to extend the relaxed solution.:

$\begin{matrix} {h_{jl} = {c_{i_{1},\ldots\mspace{14mu},i_{k - 1},l}^{k}\begin{matrix} {{{{for}\mspace{14mu} l} = 0},\ldots\mspace{14mu},N_{k}} \\ {{{{and}\mspace{14mu} j} = 0},\ldots\mspace{14mu},{N_{0}.}} \end{matrix}}} & {\left\lbrack \left\lbrack \lbrack 3.8\rbrack \right\rbrack \right\rbrack(1.12)} \end{matrix}$ If the resulting 2-dimensional two-dimesional assignment problem,

$\begin{matrix} \begin{matrix} {{Minimize}\left\lbrack \left\lbrack \text{:} \right\rbrack \right\rbrack} & {\sum\limits_{j = 0}^{N_{0}}{\sum\limits_{l = 0}^{N_{1}}{h_{jl}w_{jl}}}} \end{matrix} & {\left\lbrack \left\lbrack \lbrack 3.9\rbrack \right\rbrack \right\rbrack\;(1.13)} \\ \begin{matrix} {{Subject}\mspace{14mu}{to}\text{:}} & {{{\sum\limits_{l = 0}^{N_{k}}w_{jl}} = {{1\mspace{14mu} j} = 1}},\ldots\mspace{14mu},N_{0},} \\ \; & {{{{\lbrack\rbrack}{\sum\limits_{l = 0}^{N_{k}}w_{jl}}} = {{1\mspace{14mu} j} = 1}},\ldots\mspace{14mu},N_{0},} \\ \; & {{{w_{jl} \in {\left\{ {0,1} \right\}\mspace{14mu} j}} = 0},\ldots\mspace{14mu},N_{0},{l = 0},\ldots\mspace{11mu},\; N_{k}} \end{matrix} & \; \end{matrix}$ has a feasible solution, then the indices of that solution map to the solution of Problem Formulation [3.1] (1.4) for the k-dimensional problem. The first index in each resultant solution entry is the pointer back to an element of the {(i^(j) _(i), . . . i^(j) _(k−i)m^(k) _(i) ₁ . . . i_(k−1))}^(N) ⁰ _(j=1) list. That element supplies the first k-1 indices of the solution. The second index of the solution to the recovery problem is the k^(th) index of the solution. Together these indexes specify the values of z^(k) that solve Problem Formulation [3.1] (1.4) at the k^(th) level.

If Problem Formulation [3.9] (1.13) does not have a feasible solution, then the value of uki which was thought to represent u^(k) _(p) is not representative of the actual peak and further iteration at the k^(th) level is required. This decision represent the branch path from step 214 and equivalent steps.

I.3. Partitioning

A partitioning process is used to divide the cost matrix that results from the Scoring step 154 into as many independent problems as possible prior to beginning the relaxation solution. The partitioning process is included with the Problem Formulation Step 310. The result of partitioning is a set of problems to be solved, i.e., there will be p₁ problems that consist of a single hypothesis, p₂ problems that consist of two hypothesis, etc. Each such problem is a group in that one or more observations or tracks are shared between members of the group.

In partitioning to groups no consideration is given to the actual cost values. The analysis depends strictly on the basis of two or more cost elements sharing the same specific axis of the cost matrix. In a 2-dimensional two-dimensional case two cost elements must be in the same group if they share a row or a column. If the two elements are in the same row, then each other cost element that is also in the same row, as well as any cost elements that are in columns occupied by members of the row must be included in the group. The process continues recursively. In literature it is referred to as “Constructing a Spanning Forest.” The k-dimensional case is analogous to the 2-dimensional two-dimensional case. The specific method we have incorporated is a depth first search, presented by Aho, Hopecraft, and Ullman (A. V. Aho, in “Design J. E. Hopcroft, and J. D. Ullman. Design and Analysis of Computer Algorithms.” section 5.2, published by Addison-Westley Addison-Wesley, Mass., 1974).

The result of partitioning at level M is the set of problems described as {P_(ij)|i=1, . . . , p_(j) and j=1, . . . N}, where N is the total number of hypothesis. The problems labeled {P_(ij|i=)1, . . . , p_(j) and j=1, . . . , N} {P_(i1)|=1, . . . , p₁}are the cases where their there is only one choice for the next observation at each scan and that observation could be used for no other track, i.e., it is a single isolated track. The hypothesis must be in included in the solution set and no further processing is required.

As hypothesis hypotheses are constructed the first element is used to refer to the track id ID. Any problem in the partitioned set which does not have shared costs in the first scan represent a case where a track could be extended in several ways but none of the ways share an observation with any other track. The required solution hypothesis for this case is the particular hypothesis with the maximum likelihood. For this case all likelihoods are determined as was described in Scoring and the maximum is selected.

In addition to partitioning at the M level M, partitioning is applied to each subsequent level M−1, . . . , 2. For each problem that was not eliminated by either by the prior selection, partitioning is repeated, ignoring observations that are shared in the last set of observations. Partitioning recognizes that relaxation will eliminate the last constraint set and thus partitioning is feasible for the lower level problems that will result from relaxation. This process is repeated for all levels down to k=3. The full set of partitionings can be performed in the Problem Formulation Step 310, prior to initiating the actual relaxation steps. The actual 2-dimensional two-dimensional solver used in step 206 includes an equivalent process so no advantage would be gained by partitioning at the k=2 level.

There are two possible solution methods for the remaining problems. “Branch and Bound” as was previously described, or the relaxation method that this invention describes. If any of the partitions have 5-10 possible tracks and less than 50 to 20 hypotheses, then the prior art “Branch and Bound” algorithm generally executes faster than does the relaxation due to its reduced level of startup overhead. The “Branch and Bound” algorithm is executed against all remaining M level problems that satisfy the size constraint. For the remainder the Relaxation algorithm is used. The scheduling done in Problem Formulation allows each Problem Formulation [3.2] (1.5) cost matrix resulting from the first step of relaxation to be partitioned. The resulting partitions can be solved by any of the four methods,: isolated track direct inclusion, isolated track tree evaluation, small group “Branch and Bound” or an additional stage of relaxation as has been fully described.

The partitioning after each Level of Lagrangian Relaxation is effective because when a problem is relaxed, the constraint that requires each point to be assigned to only one track is eliminated (for one image at a time) . Therefore, two tracks previously linked by contending for one point will be unlinked by the relaxation which permits the point to be assigned to both tracks. The fruitfulness of partitioning increases for lower and lower levels of relaxation.

The following is a more detailed description of the partitioning method. Its application at all but the M level M depends upon the relaxation process described in this invention. The recursive partitioning is therefore a distinct part of this invention. The advantage of this method is greatly enhanced by the sparse cost matrix resulting from tracking problems. However the sparse nature of the problem requires special storage and search techniques.

A hypothesis is the combination of the cost element c_(n) the selection variable z_(n) and all observations that made up the potential track extension. It can be written as, h_(n)={c_(n), z_(n), {o_(n) _(k) =oki|k=1, , . . . , Miε{1, . . . , Nk}}} h_(n)={c_(n), z_(n), {o_(n) _(k) =o_(k) _(i) |k=1, . . . , M_(i)ε{1, . . . , N_(k)}}}, i.e., cost, selection variable and observations in the hypothesis. nε{1, . . . , N} Here nε{1, . . . , N}, where N is the total number of hypotheses in the problem. While the cost and assignment matrices were previously referenced. these matrices are not effective storage mechanisms for tracking applications. Instead the list of all hypothesis and sets of lists for each dimension that reference the hypothesis set are stored. The hypothetical set in list form is: {h_(n)}^(n+N) _(n=1)

For each dimension k=1M there exists a set of lists, with each list element being a pointer to a particular hypothesis: L_(k) _(i) ={p_(k) _(j) |k_(j)=1, . . . , N_(k) _(i) }^(i=N) ^(k) ^(,k=M) _(i=1,k=1) where N_(k) _(i) is a number of hypothesis containing the i-th i^(th) observation from scan k. This structure is a multiply linked list in that any observation is associated with a set of pointer to all hypothesis it participates in, and any hypothesis has a set of pointers to all observations that formed it. (These pointers can be implemented as true pointers or indices depending upon the particular programming language utilized.)

Given this description of the matrix storage technique then the partitioning technique is as follows: Mark the first list L_(k) _(i) and follow out all pointers in that list to the indicated hypothesis h_(pk) _(i) for i=1, . . . , N_(ki) N_(k) _(i) . Mark all located hypothesis, and for each follow pointers back the particular L_(ok) L_(k) for k=1, . . . , M. Those L's if not previously marked get marked and also followed out to hypothesis elements and back to L's. When all such L's or h's being located are marked, then an isolated sub-problem has been identified. All marked elements can be removed from the lists and stored as a unique problem to be solved. The partitioning problem then continues by again starting at the first residual L set L. When none remain, the original problem is completely partitioned.

Isolated problems can result from one source track having multiple possible extensions or from a set of source tracks contending for some observations. Because one of the indices of k (in our implementation it is k=1) indicate indicates the source track then it is possible to categorize the two problem types by observing if the isolated problem includes more than one L-list from the index level associated with tracks.

I.4. Subsequent Track Prediction

As noted above, after the points are assigned to the respective tracks, some action is taken such as controlling take-offs and landings to avoid collision, advising airborne aircraft to change course, warning airborne aircraft of an adjacent aircraft in a commercial environment, or aiming and firing an anti-aircraft (or anti-missile) missile, rocket or projectile, or taking evasive action in a military environment. Also, the tracking can be used to position a robot to work on an object. For some or all of these applications, usually the tracks which have just been identified are extended or extrapolated to predict a subsequent position of the aircraft or other object. The extrapolation can be done in a variety of prior art ways: for example, straight line extensions of the most likely track extension hypothesis, parametric quadratic extension of the x versus time, y versus time, etc. functions that are the result of the filtering process described earlier, least square path fitting or Kalman filtering of just the selected hypothesis.

The process of gating, filtering, and gate generation as they were previously described require that a curve be fit through observations such that fit of observations to the likely path can be scored and further so that the hypothetical target future location can be calculated for the next stage of gating. In the implementation existing, quadratic functions have been fit through the measurements that occur within the window. A set of quadratics is used, one per sensor measurement. To calculate intercept locations these quadratics can be converted directly into path functions. Intercept times are then calculated by prior methods based upon simultaneous solution of path equations.

The use of the fitted quadratics is not as precise as more conventional filters like the Kalman Filter. They are however much faster and sufficiently accurate for the relative scores required for the Assignment problem. When better location prediction is required then the assignment problem is executed to select the solution hypothesis and based upon the observations in those hypothesis the more extensive Kalman filter is executed. The result is tremendous computation savings when compared with the Kalman Filter being run on all hypothetical tracks.

Based on the foregoing, apparatus and methods have been disclosed for tracking objects. However, numerous modifications and substitutions can be made without deviating from the scope of the present invention. For example, the foregoing functions Ψ can also be defined as recursive approximation problem in which several values of higher order u^(k) values are used to eliminate the higher than approximation characteristic of the Φ_(k)

$\begin{matrix} \left\lbrack \lbrack \right. & \; & \; & \; & \; & \; & \; & \Psi & \; & \; & \; & \; & \; & \; & \; & \; \\ \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \left. \left. \Phi_{k} \right\rbrack \right\rbrack & \; \end{matrix}$ function Φ_(k). The hill climbining of the function Ψ can be implemented by a high order hill climbing using the enhanced function Φ. Although the result would not be as efficient it seems likely that the method would converge. Therefore, the invention has been disclosed by way of example and not limitation, and reference should be made to the following claims to determine the scope of the present invention.

II. AN ALTERNATIVE EMBODIMENT OF THE MULTI-DIMENSIONAL ASSIGNMENT SOLVING PROCESS

The following description provides an alternative second embodiment of the multi-dimensional assignment solving process of section I.1. However, in order to clearly describe the present alternative embodiment, further discussion is first presented regarding the data assignment problem of partitioning measurements into tracks and false alarms and, in particular, the representation of multi-dimensional assignment problems.

II.1. Formulation of the Assignment Problem

The goal of this section is to explain the formulation of the data association problems, and more particularly multi-dimensional assignment problems, that govern large classes of problems in centralized or hybrid centralized-sensor level multisensor/multitarget tracking. The presentation is brief; technical details are presented for both track initiation and maintenance in (A. B. Poore, Multi-dimensional. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion,. Computational Optimization and Applications, 3 (1994), pp.: 27-57, for nonmaneuvering non-maneuvering targets and in Ingmar J. Cox, Pierre Hansen, and Beta Julesz, eds., Partitioning Data Sets, (A. B. Poore. Multidimensional assignments and multitarget tracking: Partitioning data sets. In P. Hansen, I. J. Cox, and B. Julesz, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, volume 19, pages 169-198, Providence, R.I., 1995. American Mathematical Society, Providence, R.I., v. 19, Feb. 1995, pp. 169-198) for maneuvering targets. Note that the present formulation can also be modified to include target features (e.g., size and type) into the scoring process 154.

The data assignment problems for multisensor and multitarget tracking considered here are generally posed as that of maximizing the posterior probability of the surveillance region (given the data) according to

$\begin{matrix} {{{Maximize}\left\{ {\frac{P\left( {\Gamma = {\gamma ❘Z^{M}}} \right)}{P\left( {\Gamma = {\gamma^{0}❘Z^{M}}} \right)}❘{\gamma\; \in \Gamma^{*}}} \right\}},} & {\left\lbrack \left\lbrack \lbrack 5.1\rbrack \right\rbrack \right\rbrack\;(2.1)} \end{matrix}$ where Z^(M) represents M data sets, γ is a partition of indices of the data (and thus induces a partition of the data), Γ* is the finite collection of all such partitions, Γ *γ⁰ Γ is a discrete random element defined on Γ*, γ⁰ is a reference partition, and P(Γ=γ|Z^(M)) is the posterior probability of a partition γ true given the data Z^(M). The term partition is defined below.

Consider M observation sets Z(k) (k=1, . . . , N) each of N_(k) observations {z^(k) _(i) _(k) }^(N) ^(k) _(i) _(k) ⁻¹ , and let Z^(M) denote the cumulative data set defined by z(k)={z^(k) _(i) _(k) }^(N) ^(k) _(i) _(k) ⁻¹ and Z^(M)={Z(1), . . . , Z(M)},   [5.2] respectively. In multisensor data fusion and multitarget tracking the data sets Z(k) may represent different classes of objects, and each data set can arise from different sensors. For track initiation the objects are measurements that must be partitioned into tracks and false alarms. In the formulation of track extensions a moving window over time of observations sets is used. The observation sets will be measurements which are: (a) assigned to existing tracks, (b) designated as false measurements, or (c) used for initiating tracks. However, note that alternative data objects instead of observation sets may also be fused such as in sensor level tracking wherein each sensor forms tracks from its own measurements and then the tracks from the sensors are fused in a central location. Note that, as one skilled in the art will appreciate, both embodiments of the present invention may be used for this type of data fusion.

The data assignment problem considered presently is represented as a case of set partitioning defined in the following way. First, for notational convenience in representing tracks, a zero index is added to each of the index sets in [5.2] (2.2), a gap filler Z^(k) _(o) is added to each of the data sets Z(k) in [5.2] (2.2), and a “track of data” is defined as (z¹ _(i) ₁ , . . . , z^(N) _(i) _(N) ), where i_(k) and z^(k) _(i) _(k) can now assume the values of 0 and z^(k) _(o), respectively. A partition of the data will refer to a collection of tracks of data or track extensions wherein each observation occurs exactly once in one of the tracks of data and such that all data is used up. Note that the occurrence of the gap filler is unrestricted. The gap filler z^(k) _(o) serves several purposes in the representation of missing data, false observations, initiating tracks, and terminating tracks. Note that a “reference partition” may be defined which is a partition in which all observations are declared to be false.

Next under appropriate independence assumptions it can be shown that:

$\begin{matrix} {{\frac{P\left( {\Gamma = {\gamma ❘Z^{M}}} \right)}{P\left( {\Gamma = {\gamma^{0}❘Z^{M}}} \right)} \equiv L_{\gamma} \equiv {\prod\limits_{{({i_{1}\ldots\mspace{14mu} i_{N}})} \in \gamma}\; L_{i_{1}\ldots\mspace{14mu} i_{M}}}},} & \left\lbrack {\left\lbrack \lbrack 5.3\rbrack{\rbrack\rbrack} \right.(2.3)} \right. \end{matrix}$ where L^(k) _(i) ₁ _(. . . i) _(M) is a likelihood ratio containing probabilities for detection, maneuvers, and termination as well as probability density functions for measurement errors, track initiation and termination. Then if c^(k) _(i) _(1 . . .) ^(i) _(N)=−lnL^(k) _(i1 . . . iM),

$\begin{matrix} {{- {\ln\left\lbrack \frac{P\left( {\Gamma = {\gamma ❘Z^{M}}} \right)}{P\left( {\Gamma = {\gamma^{0}❘Z^{M}}} \right)} \right\rbrack}} = {\sum\limits_{{({i_{1},\ldots\mspace{14mu},i_{M}})} \in \gamma}\;{c_{i_{1}\ldots\mspace{14mu} i_{N}}.}}} & \left\lbrack {\left\lbrack \lbrack 5.4\rbrack{\rbrack\rbrack} \right.(2.4)} \right. \end{matrix}$ Using [5.3] and the zero-one variable z^(k) _(i) _(1 . . .) _(i) _(N)=1 if (i₁, . . . , i_(M))

$\begin{matrix} \begin{matrix} \left\lbrack \left\lbrack {\in \mspace{14mu}\gamma} \right. \right. & \; & \; & \; \\ {\mspace{79mu}\Phi} & {\mspace{340mu}\gamma} & \; & \; \\ \; & \; & \Phi & \; \\ {\;{\gamma\mspace{25mu}\Phi}} & {\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{M} = 0}^{N_{M}}\mspace{11mu}{c_{i_{1}\ldots\mspace{14mu} i_{M}}z_{i_{1}\ldots\mspace{14mu} i_{M}}}}}} & \; & \; \\ {\;\gamma} & {{{{\sum\limits_{i_{2} = 0}^{N_{2}}{\ldots{\sum\limits_{i_{M} = 0}^{N_{M}}\mspace{11mu} z_{i_{1}\ldots\mspace{14mu} i_{M}}}}} = 1},\mspace{70mu}\,_{1}}\mspace{11mu}} & \; & \Phi_{1} \\ {\;(c)} & {{{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{k - 1} = 0}^{N_{k - 1}}{\sum\limits_{i_{k + 1} = 0}^{N_{k + 1}}{\ldots{\sum\limits_{i_{M} = 0}^{N_{M}}z_{i_{1}\ldots\mspace{14mu} i_{M}}}}}}}} = 1},} & \; & \; \\ \; & {{{{for}\mspace{14mu} i_{k}} = 1},\ldots\mspace{14mu},{{N_{k}\mspace{14mu}{and}\mspace{14mu} k} = 2},\ldots\mspace{14mu},{M - 1},} & \; & \; \\ {\;(d)} & {{{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{N - 1} = 0}^{N_{M - 1}}\mspace{11mu} z_{i_{1}\ldots\mspace{14mu} i_{M}}}}} = 1},{i_{M} = 1},\ldots\mspace{14mu},N_{M},} & \; & \; \\ {\;(e)} & {{z_{i_{1}\ldots\mspace{14mu} i_{M}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}}},\ldots\mspace{14mu},i_{M}} & \; & {\rbrack\rbrack} \end{matrix} & \lbrack 5.5\rbrack \end{matrix}$

Using (2.3) and the zero-one variable z_(i) ₁ _(. . . i) _(N) ^(k)=1 if (i₁, . . . , i_(M))εγ and 0 otherwise, one can then write the problem (2.1) as the following M-dimensional assignment problem (as also presented in section Problem Formulaion (1.4) with k=M):

$\begin{matrix} \begin{matrix} (a) & {Minimize} & {\sum\limits_{i_{1} = 0}^{N_{1}}\mspace{14mu}{\ldots\mspace{14mu}{\sum\limits_{i_{M} = 0}^{N_{M}}{c_{i_{1}}{\ldots\mspace{14mu}}_{i_{M}}z_{i_{1}}{\ldots\mspace{14mu}}_{i_{M}}}}}} \\ (b) & {{Subject}\mspace{14mu}{to}\text{:}} & {{{\sum\limits_{i_{2} = 0}^{N_{2}}\mspace{14mu}{\ldots\mspace{14mu}{\sum\limits_{i_{M} = 0}^{N_{M}}{z_{i_{1}}{\ldots\mspace{14mu}}_{i_{M}}}}}} = 1},{i_{1} = 1},\ldots\mspace{14mu},N_{1},} \\ (c) & \; & {{{\sum\limits_{i_{1} = 0}^{N_{1}}\mspace{14mu}{\ldots\mspace{14mu}{\sum\limits_{i_{k - 1} = 0}^{N_{k - 1}}{\sum\limits_{i_{k + 1} = 0}^{N_{k + 1}}\mspace{14mu}{\ldots\mspace{14mu}{\sum\limits_{i_{M} = 0}^{N_{M}}{z_{i_{1}}{\ldots\mspace{14mu}}_{i_{M}}}}}}}}} = 1},} \\ \; & \; & {{{{for}\mspace{14mu} i_{k}} = 1},\ldots\mspace{14mu},{{N_{k}\mspace{14mu}{and}\mspace{14mu} k} = 2},\ldots\mspace{14mu},{M - 1},} \\ (d) & \; & {{{\sum\limits_{i_{1} = 0}^{N_{1}}\mspace{14mu}{\ldots\mspace{14mu}{\sum\limits_{i_{M - 1} = 0}^{N_{M - 1}}{z_{i_{1}}{\ldots\mspace{14mu}}_{i_{M}}}}}} = 1},{i_{M} = 1},\ldots\mspace{14mu},N_{M},} \\ (e) & \; & {{{z_{i_{1}}{\ldots\mspace{14mu}}_{i_{M}}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}}},\ldots\mspace{14mu},i_{M}} \end{matrix} & (2.5) \end{matrix}$ where c_(o . . . o) is arbitrarily defined to be zero. Here, each group of sums in the constraints [5.5] (b)-[5.5] (e)(2.5) (b)-(2.5) (e) represents the fact that each non-gap filler observation occurs exactly once in a “track of data.” One can modify this formulation to include multiassignments of one, some, or all the actual observations. The assignment problem [5.5] (2.5) is changed accordingly. For example, if z^(k) _(i) _(k) is to be assigned no more than, exactly, or no less than n^(k) _(i) _(k) times, then the “=1” in the appropriate one of the constraints [5.5(b)-[5.5] (d) is changed to “≦, =, ≧ n^(k) _(i) _(k) ,” respectively.

Expressions for the likelihood ratios L^(k) _(i) ₁ _(. . . i) _(M) such as [5.5] appearing in the costs c_(i) ₁ _(. . . i) _(M) =−1n(L_(i) ₁ _(. . . i) _(M) ) are well known well-known. In particular, discussions of these ratios may be found in: (A.B. Poore, Multi-dimensional. Multi-dimensinal assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion, Computational Optimization and Applications, 3 (1994), pp. 27-57; and Ingemar J. Cox, Pierre Hansen, and Beta Julesz, eds., Partitioning Data Sets,, 3:27-57, 1994; A. B. Poore. Multidimensional assignments and multitarget tracking: Partitioning data sets. In P. Hansen, I. J. Cox, B. Julesz, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, volume 19, pages 169-198, Providence, R.I., 1995. American Mathematical Society, Providence, R.I. v. 19, 1995. pp. 169-198.) Furthermore, the likelihood ratios are easily modified to include target features and to account for different sensor types. Also note that in track initiation, the M observation sets provide observations from M sensors, possibly all the same. Additionally note that for track maintenance, a sliding window of M observation sets and one data set containing established tracks may be used. In this latter case, the formulation is the same as above except that the dimension of the assignment problem is now M+1.

II.2. Overview of the New Lagrangian Relaxation Algorithms

Having formulated an M-dimensional assignment problem [5.5] (2.5), we now turn to a description of the Lagrangian relaxation algorithm. Subsection II.2.1 below presents many of the relaxation properties associated with the relaxation of an n-dimensional assignment problem to an m-dimensional one via a Lagrangian relaxation of n-m sets of constraints wherein m<n<M m<n≦M and preferably in the present invention embodiment n−m>1. Although any n-m constraint sets can be relaxed, the description here is based on relaxing the last n-m sets of constraints and keeping the first m sets. Given either an optimal or suboptimal solution of the relaxed problem, a technique for recovering a feasible solution of the n-dimensional problem is presented in subsection II.2.2 below and an overview of the Lagrangian relaxation algorithm is given in subsection II.2.3.

The following notation will be used throughout the remainder of the work. Let M be an integer such that M≧3 and let nε{3, . . . ,M}. The n-dimensional assignment problem is

         [[[6.1]]] (2.6) $\begin{matrix} {(a)\mspace{14mu}{Minimize}\text{:}} & {{v_{n}(z)} = {\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{n} = 0}^{N_{n}}{c_{i_{1}\ldots\mspace{14mu} i_{n}}^{n}z_{i_{1}\ldots\mspace{14mu} i_{n}}^{n}}}}}} \\ {(b)\mspace{14mu}{Subject}\mspace{14mu}{{to}\left\lbrack \left\lbrack \text{:} \right\rbrack \right\rbrack}} & {{{\sum\limits_{i_{2} = 0}^{N_{2}}{\ldots{\sum\limits_{i_{n} = 0}^{N_{n}}z_{i_{1}\ldots\mspace{14mu} i_{n}}^{n}}}} = 1},{i_{1} = 1},\ldots\mspace{14mu},N_{1},} \\ (c) & {{{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{k - 1} = 0}^{N_{k - 1}}{\sum\limits_{i_{k + 1} = 0}^{N_{k + 1}}{\ldots{\sum\limits_{i_{n} = 0}^{N_{n}}z_{i_{1}\ldots\mspace{14mu} i_{n}}^{n}}}}}}} = 1},} \\ \; & {{{{for}\mspace{14mu} i_{k}} = 1},\ldots\mspace{14mu},{{N_{k}\mspace{14mu}{and}\mspace{14mu} k} = 2},\ldots\mspace{14mu},{n - 1},} \\ (d) & {{{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{n - 1} = 0}^{N_{n - 1}}z_{i_{1}\ldots\mspace{14mu} i_{n}}^{n}}}} = 1},{i_{1} = 1},\ldots\mspace{14mu},N_{n},} \\ (e) & {{z_{i_{1}\ldots\mspace{14mu} i_{n}}^{n} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}}},\ldots\mspace{14mu},i_{n}} \end{matrix}$ To ensure that a feasible solution of [6.1] (2.6) always exists, all variables with exactly one nonzero index (i.e., variables of the form z^(n) _(o . . . oi) _(k) _(o . . . o) for i_(k)≠0) are assumed free to be assigned and the corresponding cost coefficients are well-defined.

II 2.1. The Lagrangian Relaxed Assignment Problem

The n-dimensional assignment problem [6.1] (2.6) has n sets of constraints. A (N_(k)+1)-dimensional multiplier vector associated with the k-th k^(th) constraint set will be denoted by u^(k)=(u^(k) ₀, u^(k) ₁, . . . , u^(k)M_(k))^(T) with u^(k) ₀=0 and k=1, . . . , n. The n-dimensional assignment problem [6.1] (2.6) is relaxed to an m-dimensional assignment problem by incorporating n-m of the n sets of constraints into the objective function [6.1] (2.6) (a). Although any constraint set can be relaxed, the description of the relaxation procedure for [6.1] (2.6) will be based on the relaxation of the last n-m sets of constraints. The relaxed problem is

$\begin{matrix} {{{\Phi_{mn}\left( {u^{m + 1},\ldots\mspace{14mu},u^{n}} \right)} \equiv {{Minimize}\mspace{14mu}{\phi_{mn}\left( {{z^{n};u^{m + 1}},\ldots\mspace{14mu},u^{n}} \right)}} \equiv {{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{n} = 0}^{N_{n}}{c_{i_{1}\ldots\mspace{14mu} i_{n}}^{n}z_{i_{1}\ldots\mspace{14mu} i_{n}}^{n}}}}} + {\sum\limits_{k = {m + 1}}^{n}\;{\sum\limits_{i_{k} = 0}^{N_{k}}\;{u_{i_{k}}^{k}\left\lbrack {{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{k - 1} = 0}^{N_{k - 1}}{\sum\limits_{i_{k + 1} = 0}^{N_{k + 1}}{\ldots{\sum\limits_{i_{n} = 0}^{N_{n}}z_{i_{1}\ldots\mspace{14mu} i_{n}}^{n}}}}}}} - 1} \right\rbrack}}}} \equiv {{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{n} = 0}^{N_{n}}{\left\lbrack {c_{i_{1}\ldots\mspace{14mu} i_{n}}^{n} + {\sum\limits_{k = {m + 1}}^{n}u_{i_{k}}^{k}}} \right\rbrack z_{i_{1}\ldots\mspace{14mu} i_{n}}^{n}}}}} - {\sum\limits_{k = {m + 1}}^{n}\;{\sum\limits_{i_{k} = 0}^{N_{k}}\; u_{i_{k}}^{k}}}}}{{{{Subject}\mspace{14mu}{to}\text{:}\mspace{14mu}{\sum\limits_{i_{2} = 0}^{N_{2}}{\ldots{\sum\limits_{i_{n} = 0}^{N_{n}}z_{i_{1}\ldots\mspace{14mu} i_{n}}^{n}}}}} = 1},{i_{1} = 1},\ldots\mspace{14mu},N_{1},{{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{k - 1} = 0}^{N_{k - 1}}{\sum\limits_{i_{k + 1} = 0}^{N_{k + 1}}{\ldots{\sum\limits_{i_{n} = 0}^{N_{n}}z_{i_{1}\ldots\mspace{14mu} i_{n}}^{n}}}}}}} = 1},{{{for}\mspace{14mu} i_{k}} = 1},\ldots\mspace{14mu},{{N_{k}\mspace{14mu}{and}\mspace{14mu} k} = 2},\ldots\mspace{14mu},m,{z_{i_{1}\ldots\mspace{14mu} i_{n}}^{n} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}}},\ldots\mspace{14mu},{i_{n}.}}} & {\left\lbrack \left\lbrack \lbrack 6.2\rbrack \right\rbrack \right\rbrack\;(2.7)} \end{matrix}$ wherein we have added the multiplier u^(k) ₀ _(k)=0 for notational convenience. Thus, the multiplier R with u^(k) ₀=0 is fixed.

An optimal (or suboptimal) solution of [6.2] (2.7) can be constructed from that of an m-dimensional assignment problem. To show this, def ine f or each (i₁, . . . , i_(m)) an index (j_(m+1), . . . , j_(n))=(j_(m+1)(i_(1 , . . . , im)), . . . , j_(n)(i₁, . . . , i_(m))) and a new cost function c^(m) _(i) ₁ . . . _(i) _(m) by

$\begin{matrix} {{{\left\lbrack \quad \right.\left\lbrack \quad \right.}\left( {j_{m + 1},\ldots\mspace{11mu},j_{n}} \right)} = {{\arg\mspace{14mu}\min\left\{ {{{{c_{i_{1}\ldots\mspace{14mu} i_{n}}^{n} + {\sum\limits_{k = {m + 1}}^{n}\; u_{ik}^{k}}}❘i_{k}} = 0},\ldots\mspace{11mu},{{N_{k}\mspace{14mu}{and}\mspace{14mu} k} = {m + 1}},\ldots\mspace{11mu},n} \right\}}{c_{i_{1}\ldots\mspace{14mu} i_{m}}^{m} = {{c_{i_{1}\ldots\mspace{14mu} i_{m}j_{m + 1}\ldots\mspace{14mu} j_{n}}^{n} + {\sum\limits_{k = {m + 1}}^{n}\;{u_{j_{k}}^{k}\mspace{14mu}{for}\mspace{14mu}\left( {i_{1},\ldots\mspace{14mu},i_{M}} \right)}}} \neq \left( {0,\ldots\mspace{14mu},0} \right)}}{c_{0\ldots\mspace{11mu} 0}^{m} = {\sum\limits_{i_{m + 1} = 0}^{N_{m + 1}}{\ldots{\sum\limits_{i_{n} = 0}^{N_{M}}{{Minimum}\left\{ {0,{c_{0\ldots\mspace{11mu} 0i_{m + 1}\ldots\mspace{11mu} i_{n}}^{n} + {\sum\limits_{k = {m + 1}}^{n}\; u_{j_{k}}^{k}}}} \right\}\left. \quad \right\rbrack\left. \quad \right\rbrack}}}}}}} & {\left\lbrack \left\lbrack \lbrack 6.3\rbrack \right\rbrack \right\rbrack(2.8)} \end{matrix}$

(If (j_(m+1), . . . , j_(n)n) is not unique, choose the smallest such j_(m+1), amongst those (n-m)-tuples with the same j_(m+1) choose the smallest j_(m+2), etc., so that (j_(m+1), . . . , j_(n)) is uniquely defined.) Using the cost coefficients defined in this way, the following m-dimensional assignment problem is obtaIned obtained:

$\begin{matrix} {{{{\hat{\Phi}}_{mn}\left( {u^{m + 1},\ldots\mspace{14mu},u^{n}} \right)} = {{{Minimize}\mspace{14mu}{{\hat{\phi}}_{mn}\left( {{z^{m};u^{m + 1}},\ldots\mspace{14mu},u^{n}} \right)}} \equiv {v_{m}\left( z^{m} \right)} \equiv {\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{m} = 0}^{N_{m}}{c_{i_{1}\ldots\mspace{14mu} i_{m}}^{m}z_{i_{1}\ldots\mspace{14mu} i_{m}}^{m}}}}}}}{{{{Subject}\mspace{14mu}{to}\text{:}\mspace{14mu}{\sum\limits_{i_{2} = 0}^{N_{2}}{\ldots{\sum\limits_{i_{m} = 0}^{N_{m}}z_{i_{1}\ldots\mspace{14mu} m_{n}}^{m}}}}} = 1},{i_{1} = 1},\ldots\mspace{14mu},N_{1},{{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{k - 1} = 0}^{N_{k - 1}}{\sum\limits_{i_{k + 1} = 0}^{N_{k + 1}}{\ldots{\sum\limits_{i_{m} = 0}^{N_{m}}z_{i_{1}\ldots\mspace{14mu} i_{m}}^{m}}}}}}} = 1},{{{for}\mspace{14mu} i_{k}} = 1},\ldots\mspace{14mu},{{N_{k}\mspace{14mu}{and}\mspace{14mu} k} = 2},\ldots\mspace{14mu},{m - 1},{{\sum\limits_{i_{1} = 0}^{N_{1}}{\ldots{\sum\limits_{i_{m - 1} = 0}^{N_{m - 1}}z_{i_{1}\ldots\mspace{14mu} i_{m}}^{m}}}} = 1},{i_{m} = 1},\ldots\mspace{14mu},N_{m}}\mspace{14mu}{{z_{i_{1}\ldots\mspace{14mu} i_{m}}^{m} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}}},\ldots\mspace{14mu},{i_{m}.}}} & {\left\lbrack \left\lbrack \lbrack 6.4\rbrack \right\rbrack \right\rbrack\;(2.9)} \end{matrix}$ As an aside, observe that any feasible solution z^(n) of [6.1] (2.6) yields a feasible solution z^(m) of [6.4] (2.9) via the construction

$z_{i_{1}\ldots\mspace{14mu} i_{m}}^{m} = \left\{ \begin{matrix} 1 & {{{if}\mspace{14mu} z_{i_{1}\ldots\mspace{14mu} i_{n - 1}i_{n}}^{n}} = {1\mspace{14mu}{for}\mspace{14mu}{some}\mspace{14mu}\left( {i_{m + 1},\ldots\mspace{14mu},i_{n}} \right)}} \\ 0 & {{otherwise}.} \end{matrix} \right.$ Thus, the mn-dimensional assignment problem 6.4] (2.9) has at least as many feasible solutions of the constraints as the original problem [6.1] (2.6).

The following Fact A.2 has been shown to be true. It states that an optimal solution of Problem Formulation [6.2] (2.7) can be computed from that of Problem Formulation [6.4] (2.9). Furthermore, the converse to this fact is provided in Fact A.3. Moreover, if the solution of either of these two problems [6.2] (2.9) or [6.4] (2.0) is ε-optimal (i.e., the objective function associated with the suboptimal solution is within “ε”, of the objective function associated with the optimal solution), then so is the other.

Fact A.2. Let w^(m) be a feasible solution to problem [6.4] (2.9) and define w^(n) by

$\begin{matrix} \begin{matrix} {w_{i_{1}\ldots\mspace{14mu} i_{n}}^{n} = w_{i_{1}\ldots\mspace{14mu} i_{m}}^{m}} & {{{if}\mspace{14mu}\left( {i_{m + 1},\ldots\mspace{14mu},i_{n}} \right)} = {\left( {j_{m + 1},\ldots\mspace{14mu},j_{n}} \right)\mspace{14mu}{and}}} \\ \; & {\left( {i_{1},\ldots\mspace{14mu},i_{m}} \right) \neq \left( {0,\ldots\mspace{14mu},0} \right)} \\ {w_{i_{1}\ldots\mspace{14mu} i_{n}}^{n} = 0} & {{{if}\mspace{14mu}\left( {i_{m + 1},{\ldots\mspace{14mu} i_{n}}} \right)} \neq {\left( {j_{m + 1},{\ldots\mspace{14mu} j_{n}}} \right)\mspace{14mu}{and}}} \\ \; & {\left( {i_{1},\ldots\mspace{14mu},i_{m}} \right) \neq \left( {0,\ldots\mspace{14mu},0} \right)} \\ {w_{0\ldots\mspace{14mu} 0i_{m + 1}\ldots\mspace{14mu} i_{n}}^{n} = 1} & {{{{if}\mspace{14mu} c_{0\ldots\mspace{14mu} 0i_{m + 1}\ldots\mspace{14mu} i_{n}}^{n}} + {\sum\limits_{k = {m + 1}}^{n}u_{i_{k}}^{k}}} \leq 0} \\ {w_{0\ldots\mspace{14mu} 0i_{m + 1}\ldots\mspace{14mu} i_{n}}^{n} = 0} & {{{{if}\mspace{14mu} c_{0\ldots\mspace{14mu} 0i_{m + 1}\ldots\mspace{14mu} i_{n}}^{n}} + {\sum\limits_{k = {m + 1}}^{n}u_{i_{k}}^{k}}} > 0.} \end{matrix} & \left\lbrack {\left\lbrack \lbrack 6.5\rbrack{\rbrack\rbrack} \right.(2.10)} \right. \end{matrix}$ Then w^(n) is a feasible solution of the Lagrangian relaxed problem [6.2] (2.7) and Φ_(mn)γ^(n m+1 n) {circumflex over (Φ)}_(min)w^(m);u^(m+1), . . . , u^(n))−Σ^(n) _(k=m+1)Σ^(Mk) _(i) _(k) =ou^(k) _(i) _(k) If, in addition, w^(m) is optimal for [6.4] (2.9), then w^(n) is an optimal solution of [6.2] (2.7) and Φ_(mn)γ^(m+1 n) {circumflex over (Φ)}_(mn)(u^(m+1), . . . , u^(n))−Σ^(n) _(k=m+1)Σ^(Mk) _(i) _(k) −ou^(k) _(i) _(k)

With the exception of one equality being converted to an inequality, the following Fact is a converse of Fact A.2 and has also been shown to be true.

Fact A.3. Let w^(n) be a feasible solution to problem [6.2] (2.7) and define W^(m) by

$\begin{matrix} {{{w_{i_{1}\ldots\; i_{m}}^{m} = {{\sum\limits_{i_{m + 1} = 0}^{N_{m + 1}}\;{\ldots{\sum\limits_{i_{n} = 0}^{N_{m}}\;{w_{i_{1}\ldots\; i_{n}}^{n}\mspace{14mu}{for}\mspace{14mu}\left( {i_{1},\ldots\mspace{14mu},i_{m}} \right)}}}} \neq \left( {0,\ldots\mspace{14mu},0} \right)}},{w_{0\ldots\; 0}^{m} = {{0\mspace{14mu}{if}\mspace{14mu}\left( {i_{1},\ldots\mspace{14mu},i_{m}} \right)} = {\left( {0,\ldots\mspace{14mu},0} \right)\mspace{14mu}{and}}}}}{{w_{0\ldots\; 0i_{m + 1}{\ldots i}_{n}}^{n} + {\sum\limits_{k = {m + 1}}^{n}\; u_{i_{k}}^{k}}} > {0\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu}\left( {i_{m + 1},\ldots\mspace{14mu},i_{n}} \right)}}{w_{0\ldots\; 0}^{m} = {{1\mspace{14mu}{if}\mspace{14mu}\left( {i_{1},\ldots\mspace{14mu},i_{m}} \right)} = {\left( {0,\ldots\mspace{14mu},0} \right)\mspace{14mu}{and}}}}{{c_{0\ldots\; 0i_{m + 1}{\ldots i}_{n}}^{n} + {\sum\limits_{k = {m + 1}}^{n}\; u_{i_{k}}^{k}}} \leq {0\mspace{14mu}{for}\mspace{14mu}{some}\mspace{14mu}{\left( {i_{m + 1},\ldots\mspace{14mu},i_{n}} \right).}}}} & {\left\lbrack \left\lbrack \lbrack 6.6\rbrack \right\rbrack \right\rbrack(2.11)} \end{matrix}$ Then w^(m) is a feasible solution of the problem [6.4] (2.9) and

${\phi_{mn}\left( {{w^{n};u^{m + 1}},\ldots\mspace{14mu},u^{n}} \right)} \geq {{{\hat{\phi}}_{mn}\left( {{w^{m};u^{m + 1}},\ldots\mspace{14mu},u^{n}} \right)} - {\sum\limits_{k = {m + 1}}^{n}{\sum\limits_{i_{k} = 0}^{M_{k}}u_{i_{k}}^{k}}}}$ If, in addition, w^(n) is optimal for [6.2] (2.7), then w^(m) is an optimal solution of [6.4] (2.9), Φ_(mn)γ^(n m+1) {circumflex over (Φ)}_(mn)(w^(m);u^(m+1), . . . , u^(n))−Σ^(n) _(k=m+1)Σ^(Mk) _(i) _(k) −ou^(k) _(i) _(k) , and Φ_(mn)γ^(n+1 n) {circumflex over (Φ)}_(mn)(u^(m+1), . . . , u^(n))−Σ^(n) _(k=m+1)Σ^(M) ^(k) _(i) _(k) −ou^(k) _(i) _(k) .

II.2.2. The Recovery Procedure

The next objective is to explain a recovery procedure or method for recovering a solution to the n-dimensional problem of [6.1] (2.6) from a relaxed problem having potentially substantially fewer dimensions than [6.1] (2.6). Note that this aspect of the alternative embodiment of the present invention is substantially different from the method disclosed in the first embodiment of the multi-dimensional assignment solving process of section I.1 of this specification. Further, this alternative embodiment provides substantial benefits in terms of computational efficiency and accuracy over the first embodiment, as will be discussed. Thus, given a feasible (optimal or suboptimal) solution w^(m) of [6.4] (2.9) (or w^(n) if Problem Formulation [6.2] (2.7) is constructed via Fact A.2), an explanation is provided here regarding how to generate a feasible solution z^(n) of [6.1] (2.6) which is close to w^(m) in a sense to be specified. We first assume that no variables in [6.1] (2.6) are preassigned to zero (this assumption will be removed shortly). The difficulty with the solution w^(n) is that it need not satisfy the last n-m sets of constraints in [6.1] (2.6). Note, however, that if w^(m) is an optimal solution for [6.4] (2.9) and w^(n) (constructed as in Fact A.2) satisfies the relaxed constraints, then w^(n) is optimal for [6.1] (2.6). The recovery procedure described here is designed to preserve the 0-1 character of the solution w^(m) of [6.4] (2.9) as far as possible. That is, if w^(m) _(i) ₁ . . . i_(m)=1 and i1w≠0 for at least one 1=1, . . . , m, then the corresponding feasible solution z^(n) of [6.1] (2.6) is constructed so that z^(n) _(i) ₁ . . . i_(n)=1 for some (i_(m+1), . . . ,i_(n)). Note that by this reasoning, variables of the form z^(n) _(0 . . . 0t) _(m+1) _(. . . i) _(n) can be assigned to a value of 1 in the recovery problem only if w_(m) _(0 . . . 0=) 1. However, variables z^(n) _(0 . . . 0i) _(m+1) _(. . . i) _(n) will be treated differently in the recovery procedure in that they can be assigned 0 or 1 independent of the value w^(m) _(0 . . . 0). This increases the feasible set of the recovery problem, leading to a potentially better solution.

Let {(i^(j) ₁, . . . ,i^(j) _(m))}^(N) ⁰ _(j=1) be an enumeration of indices of w^(m) (or the first m indices of w1 constructed as in Fact A.2) such that w^(m) ^(j) _(i) ₁ . . . j^(j=1) _(m) and (i^(j) ₁, . . . , i^(j) _(m))≠(0, . . . , 0). Set (i⁰ ₁, . . . i⁰ _(m))=(0, . . . , 0) for j=0 and define

$\begin{matrix} {{c_{{ji}_{m + 1}{\ldots i}_{n}}^{n - m + 1} = {c_{i_{1}^{j}\ldots\; i_{m}^{j}i_{m + 1}\ldots\; i_{n}}^{n}\left\lbrack \left\lbrack {{{{for}\mspace{14mu} i_{k}} = 0},\ldots\mspace{14mu},{N_{k};{k = {m + 1}}},\ldots\mspace{14mu},{n;{j = 0}},\ldots\mspace{14mu},{N_{0}.}} \right\rbrack \right\rbrack}}{{{\;{for}\mspace{14mu} i_{k}} = 0},\ldots\mspace{14mu},{N_{k};{k = {m + 1}}},\ldots\mspace{14mu},{n;{j = 0}},\ldots\mspace{14mu},{N_{0}.\;}}} & \left\lbrack {\left\lbrack \lbrack 6.7\rbrack{\rbrack\rbrack} \right.(2.12)} \right. \end{matrix}$ Let Y denote the solution of the (n−m+1)-dimensional assignment problem:

$\begin{matrix} \begin{matrix} {{Minimize}{~~~}{\sum\limits_{j = 0}^{N_{0}}{\sum\limits_{i_{m + 1} = 0}^{N_{m + 1}}\;{\ldots{\sum\limits_{i_{n} = 0}^{N_{m}}{c_{{ji}_{m + 1}{\ldots i}_{n}}^{n - m + 1}y_{{ji}_{m + 1}{\ldots i}_{n}}}}}}}} \\ {{{{Subject}\mspace{14mu}{to}{~~~}{\sum\limits_{i_{m + 1} = 0}^{N_{m + 1}}\;{\ldots{\sum\limits_{i_{n} = 0}^{N_{m}}y_{{ji}_{m + 1}{\ldots i}_{n}}}}}} = 1},{j = 1},\ldots\mspace{14mu},N_{0},} \\ {{{\sum\limits_{j = 0}^{N_{0}}{\sum\limits_{i_{m + 1} = 0}^{N_{m + 1}}\;{\ldots{\sum\limits_{i_{k - 1} = 0}^{N_{k - 1}}{\sum\limits_{i_{k + 1} = 0}^{N_{k + 1}}\;{\ldots{\sum\limits_{i_{n} = 0}^{N_{m}}y_{{ji}_{m + 1}{\ldots i}_{n}}}}}}}}} = 1},} \\ {{{{for}\mspace{14mu} i_{k}} = 1},\ldots\mspace{14mu},{{N_{k}\mspace{14mu}{and}\mspace{14mu} k} = {m + 1}},\ldots\mspace{14mu},{n - 1},} \\ {{{\sum\limits_{j = 0}^{N_{0}}{\sum\limits_{i_{m + 1} = 0}^{N_{m + 1}}\;{\ldots{\sum\limits_{i_{m - 1} = 0}^{N_{m - 1}}y_{{ji}_{m + 1}{\ldots i}_{n}}}}}} = 1},} \\ {{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{i_{n} = 1},\ldots\mspace{14mu},N_{m},}} \\ {{y_{{ji}_{m + 1}{\ldots i}_{n}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} j}},i_{m + 1},\ldots\mspace{14mu},{i_{n}.}} \end{matrix} & {\left. \left. {\left\lbrack \lbrack \right.\lbrack 6.8\rbrack} \right\rbrack \right\rbrack(2.13)} \end{matrix}$ The recovered feasible solution z^(n) of [6.1] (2.6) corresponding to the multiplier set {u^(m), . . . , u^(n)} is then defined by

$\begin{matrix} {z_{i_{1}{\ldots i}_{n}}^{n} = \left\{ \begin{matrix} {1,} & {{{if}\mspace{14mu}\left( {i_{1},\ldots\mspace{14mu},i_{m}} \right)} = {\left( {i_{1}^{j},\ldots\mspace{14mu},i_{m}^{j}} \right)\mspace{14mu}{for}\mspace{14mu}{some}}} \\ \; & {{j = 0},\ldots\mspace{14mu},{{N_{0}\mspace{14mu}{and}\mspace{14mu} Y_{{ji}_{m + 1}}\ldots\mspace{14mu} i_{n}} = 1},} \\ {0,} & {{otherwise}.} \end{matrix} \right.} & {\left\lbrack \left\lbrack \lbrack 6.9\rbrack \right\rbrack \right\rbrack(2.14)} \end{matrix}$ This recovery procedure is valid as long as all cost coefficients c^(n) are defined and all zero-one variables in z^(n) are free to be assigned. Note that modifications are necessary for sparse problems. If the cost coefficient c^(nj) _(i) ₁ . . .i^(j) _(mi) _(m+1) _(. . . i) _(n) c^(n) _(i) ₁ _(j) _(. . . i) _(m) _(j) _(i) _(m+1) _(. . . i) _(n) is well defined and the zero-one variable z^(nj) _(i) ₁ . . . i^(j) _(m)i_(m+1). . . i_(n) c^(n) _(i) _(j) ₁ _(. . . i) _(j) _(m) _(i) _(m+1) _(. . . i) _(n) /n is free to be assigned to zero or one, then define c^(n−m+1) _(ji) _(m+1) . . . _(i) _(n) =cn_(ji) ₁ . . . ij_(m)i_(m+1). . . i_(n) as in [6.7] (2.12) with z^(n−m+1) _(ji) _(m+1) . . . _(i) _(n) being free to be assigned. Otherwise, z^(n−m+1) _(ji) _(m+1) . . . _(i) _(n) is preassigned to zero. To ensure that a feasible solution exists, we now only need ensure that the variables z^(n−m+1) _(j0...0) are free for j=0, 1, . . . , N₀. (Recall that all variables of the form z^(n) _(0...i) _(k) _(...0) are free (to be assigned) and all coefficients of the form c^(n) _(0...i) _(k) _(...0) are well defined for k=1, . . . , n.) This is accomplished as follows. If the cost coefficient c^(n) _(i) ₁ j_(i) ₂ j_(...i) _(m) j_(0...0) is well defined and z^(n) _(i) ₁ j_(i) ₂ j_(. . . i) _(m)j_(0...0) is free, then define c^(n−m+1) _(j0...0)=c^(n) _(i) ₁ ij₂...i^(j) _(m)0 . . . 0 with z^(n−m+1) _(j0...0) being free. Otherwise, since all variables of the form z^(n) _(0...i) _(k) . . . 0 are known feasible and have well-defined costs, put

${\left\lbrack \left\lbrack \quad \right.\quad \right.c_{j\; 0{\ldots 0}}^{n - m + 1}} = {{\sum\limits_{{k = l},{i_{k}^{j} \neq 0}}^{m}\;{c_{0{\ldots 0i}_{k}^{j}0{\ldots 0}}^{n - m + 1}\left. \quad \right\rbrack\left. \quad \right\rbrack c_{j\; 0{\ldots 0}}^{n - m + 1}}} = {\sum\limits_{{k = l},{i_{k}^{j} \neq 0}}^{m}\;{c_{0{{\ldots 0}i}_{k}^{j}0{\ldots 0}}^{n}.}}}$

II.3. The Multi-Dimensional Lagrangian Relaxation Algorithm for the n-Dimensional Assignment Problem

Starting with the M-dimensional assignment problem [6.1] (2.6), i.e., n=M, the algorithm described below is recursive in that the M-dimensional assignment problem is relaxed to an m-dimensional problem by incorporating (n-m) sets of constrains into the objective function using Lagrangian relaxation of this set. This problem is maximized with respect to the Lagrange multipliers, and a good suboptimal solution to the original problem is recovered using an (n−m+1) -dimensional assignment problem. Each of these two (the m-dimensional and the (n−m+1) -dimensional assignment problems) can be solved in a similar manner.

More precisely, reference is made to FIG. 8 which presents a flowchart of a procedure embodying the multi-dimensional relaxation algorithm, referred to immediately above. This procedure, denoted MULTI₁₃ DIM_RELAX in FIG. 8, has three formal parameters, n, PROB_FORMULATION and ASSIGNMT_SOLUTION, which are used to transfer information between recursive instantiations of the procedure. In particular, the parameter, n, is an input parameter supplying the dimension for the multi-dimensional assignment problem (as in [6.1] (2.6)) which is to be solved (i.e., to obtain an optimal or near-optimal solution). The parameter. PROB_FORMULATION, is also an input parameter supplying the data structure(s) used to represent the n-dimensional assignment problem to be solved. Note that PROB_FORMULATION at least provides access to the cost matrix, [cnu^(n)], and the observation sets whose observations are to be assigned. Additionally, the parameter, ASSIGNMT_SOLUTION, is used as an output parameter for returning a solution of a lower dimensioned assignment problem to an instantiation of MULTI_DIM_RELAX which is processing a higher dimensioned assignment problem.

A description of FIG. 8 follows. Assuming MULTI_Dim_RELAX is initially invoked with M as the value for the parameter n and the PROB_FORMULATION having a data structure(s) representing an M-dimensional assignment problem as in [5.51] (2.5), in step 500 an integer m, 2≦m<n is chosen such that the constraint sets or corresponding to dimensions m+1, . . . , n are to be relaxed so that an m-dimensional problem formulation as in [6.21] (2.7) results. In step 504 an initial approximation is provided for {u^(m+1) ₀, . . . , u^(n) ₀ 56 . Subsequently, in step 508 the above initial values for {u^(m+1) ₀, . . . ,u^(n) ₀} are used in an iterative process in determining (ū^(m+1), . . . ,ū^(n)) which maximizes {Φ_(mn)γ^(m+1 n k)εR^(M) ^(k+i) and k=m+1, . . . ,n} for a feasible solution w^(n) subject to the constraints of Problem Formulation [6.2] (2.7). Note that by maximizing Φ_(mn)γ^(m+1 n) constraints that were relaxed are being forced to be satisfied and in so doing information is built into a solution of this function for solving the input assignment problem in “PROB_FORMULATION.” Further note that a non-smooth optimization technique is used here and that a preferred method of determining a maximum in step 508 is the bundle-trust method of Schramm and Zowe as described in (H. Schramm and J. Zowe,. A version of the bundle idea for minimizing a non-smooth function: Conceptual idea, convergence analysis, numerical results,. SIAM Journal on Optimization, 2 (1992), pp. 121-152 No. 1:121-152, February, 1992). This method, along with various other methods for determining the maximum in step 508, are discussed below.

Also note that for m>2, a solution to the optimization problem of step 508 is NP-hard and therefore cannot be solved optimally. That is, there is no known computationally tractable method for guarantying an optimal solution. Thus, there are two possibilities: either (a) allow m to be greater than 2 and use auxiliary functions similar to those disclosed in the first embodiment of the k-dimensional assignment solver 300 in section I to compute a near-optimal solution, or (b) make m=2 wherein algorithms such as the forward/reverse auction algorithm of D. P. Bertsekas and D. A. Castañon in their paper (D. P. Bertsekas and D. A. Castañon. A forward/reverse auction algorithm for asymmetric assignment problems,. Computational Optimization and Applications, 1 (1992), pp.: 277-298, 1992) provides an optimal solution.

If option (a) immediately above is chosen, then the auxiliary functions are used as approximation functions for obtaining at least a near-optimal solution to the optimization problem of step 508. Note that the auxiliary functions used depend on the value of m. Thus, auxiliary functions used when m=3 will likely be different from those for m=4. But in any case, the optimization procedure is guided by using the merit function, Φ_(2n)(u³, . . . , u^(n)), which can be computed exactly via a 2-dimensional two-dimensional assignment problem for guiding the maximization process.

Alternatively, if option (b) above is chosen, then two important advantages result:, namely, the optimization problem of step 508 can be always solved optimally and without using auxiliary approximation functions. Thus, better solutions to the original M-dimensional assignment problem are likely since there is no guarantee that when the non-smooth optimization techniques are applied to the auxiliary functions the techniques will yield an optimal solution to step 508. Furthermore, it is important to note that without auxiliary functions, the processing in step 508 is both conceptually easier to follow and more efficient.

Subsequently, in step 512 of FIG. 8, the solution (ū^(m+1), . . . , ū)^(n) and w^(n) is used in determining an optimal solution, w^(m) to Problem Formulation [6.4] (2.9) as generated according to [6.3] (2.8) and Fact A.3.

In step 516, the solution w^(n) is used in defining the cost matrix C^(n−m+1) as in [6.7] (2.12). Subsequently, if n−m+1=2, then the assignment problem [6.8] (2.13) may be solved straightforwardly using known techniques, such as forward/reverse auction algorithms. Following this, in step 528, the solution to the 2-dimensional two-dimensional assignment problem is assigned to the variable ASSIGNMT_SOLUTION and in step 532 ASSIGNMT_SOLUTION is returned to a dimension three level recursion of MULTI_DIM_RELAX for solving a 3-dimensional three-dimensioanl assignment problem.

Alternatively, if in step 520, n−m+1>2, then in step 536 the data structure(s) representing a problem formulation as in [6.8] (2.13) is generated and assigned to the parameter, PROB_FORMULATION. Subsequently, in step 540 a recursive copy of MULTI_DIM_RELAX is invoked to solve the lower dimensional assignment problem represented by PROB_FORMULATION. Upon the completion of step 540, the parameter, ASSIGNMT_SOLUTION, contains the solution to the n−m+1 dimensional (n−m+1)-dimensional assignment problem. Thus, in step 544, the n−m+1 (n−m+1)^(th) solution is used to solve the n-dimensional assignment problem as discussed regarding equations [6.9] (2.14). Finally, in steps 548 and 552 the solution to the n-dimensional assignment problem is returned to the calling program so that, for example, it may be used in taking one or more actions such as (a) sending a warning to aircraft or sea facility; (b) controlling air traffic; (c) controlling anti-aircraft or anti-missile equipment; (d) taking evasive action; or (e) surveilling an object.

II.3.1. Comments on the Various Procedures Provided by FIG. 8

There are many procedures described by FIG. 8. One such procedure is the first embodiment of the multi-dimensional assignment solving process of section I.1. That is, by specifying m=n−1 in step 500, a single set of constraints is relaxed in step 508. Thus, one set of constraints is incorporated is into the objective function via the Lagrangian problem formulation, resulting in an m=n−1 dimensional (m=n−1)-dimensional problem. The relaxed problem is subsequently maximized in step 512 with respect to the corresponding Lagrange multipliers and then a feasible solution is reconstructed for the n-dimensional problem using a two-dimensional assignment problem. The second procedure provided by FIG. 8 is a novel approach which is not suggested by the first embodiment of section I.1. In fact, the second procedure is somewhat of a mirror image of the first embodiment in that n-2 sets of constraints are simultaneously relaxed, yielding immediately an m=2 dimensional (m=2)-dimensional problem in step 512. Thus, a feasible solution to the n-dimensional problem is then recovered using a recursively obtained solution to an n−1 dimensional (n−1)-dimensional problem via step 540. In this case, the function values and subgradients of Φ_(2n)γ^(3 n) optimally via a two dimensional two-dimensional assignment problem. The significant advantage here is, that there is no need for the merit or auxiliary functions, Ψ_(k) embodiment of the multi-dimensional assignment solving process of section I.1 above and also there is no need for the more general merit or auxiliary functions Ψ_(mn) subsection II.4.2 below. Further, note that all function values and subgradients used in the non-smooth nonsmooth maximization process are computed exactly (i.e., optimally) in this second procedure. Moreover, problem decomposition is now carried out for the n-dimensional problem; however, decomposition of the n−1 dimensional (n−1)-dimensional recovery problem (and all lower recovery problems) is performed only after the problem is formulated.

Between these two procedures are a host of different relaxation schemes based on relaxing n-m sets of constraints to an m-dimensional problem (2<m<n), but these all have the same difficulties as the procedure for the first embodiment of section I.1 in that the relaxed problem is an NP-hard problem. To resolve this difficulty, we use an auxiliary or merit function Ψ_(nm) γnotation Ψ_(k)Ψ_(n−1,n)m<n−1, the recovery procedure is still based on an NP-hard n-m+1 dimensional n-m+1)-dimensional assignment problem. Note that the partitioning techniques similar to those discussed in Section I.3 may be used to identify the assignment problem with a layered graph and then to find the disjoint components of this graph. In general, all relaxed problems can be decomposed prior to any non-smooth nonsmooth computations because their structure stays fixed throughout the-algorithm of FIG. 8. However, all recovery problems cannot be decomposed until they are formulated, as their structure changes as the solutions to the relaxed problems change.

II.4. Details, and Refinements Relating to the Flowchart of FIG. 8

Further explanation is provided here on how various steps of FIG. 8 are solved. Note that the refinements presented here can significantly increase the speed of the relaxation procedure of step 508.

II.4.1 Maximization of the Non-smooth Function

One of the key steps in the Lagrangian relaxation algorithm in section II.3 is the solution of the problem Maximize {Φ_(mn)γ^(n+1 n k)R^(M) ^(k+) 1; k=m+1, . . . , n }  [7.1] where u_(o) ^(k)=0 for all k=m+1, . . . ,n. The evaluation of Φ^(nm)γ^(m+1 n) corresponding minimization problem [6.2]Zn varies for each instance of (u^(m+1), . . . ,u^(n)) (2.7). The following discussion provides some properties of these functions.

Fact A.4. Let u^(m+1), . . . ,u^(n) be multiplier vectors associated with the (m+1)^(st) through the n^(th) set of constraints [6.1] (2.6), let Φ_(mn) γn^(n) objective function value of the n-dimensional assignment problem in equation [6.1] (2.6), let z^(n) be any feasible solution of [6.1] (2.6), and let z ^(n) be an optimal solution of [6.1] (2.6). Then, Φ_(mn)γ^(m+1 n) {u^(m+1), . . . , u^(n)}and Φ_(mn)γ^(m+1 n)≧V_(n)( z ^(n))≧V_(n)(z^(n))   [7.2a] (2.16) Furthermore, Φ_(m−1n)γ^(m m+1 n≧Φ) _(mn)γ^(n+1 n)   [7.2a] (2.17) for all u^(k)R^(M) ^(k+1) with u_(o) ^(k)=0 and k=m, . . . n.

Most of the procedures for non-smooth optimization are based on generalized gradients called subgradients, given by the following definition.

Definition. At u=(u^(m+1), . . . ,u^(n)) the set δΦ_(mn)γ subdifferential of Φ_(mn) and defined by δΦ_(mn)γεR^(M) ^(m+1) 1x. . . xR^(M) ^(n+) 1|Φ_(mn)γΦ_(mn)γ≧q^(T)(w0u)∀wεR^(M) ^(n+) 1+1x. . . xR^(M) ^(n+) 1}  [7.3] A vector qεδΦ_(mn)γ A vector qεδΦ_(mn)(u) is called a subgradient. If z^(n) is an optimal solution of [6.2] (2.7) computed during evaluation of Φ_(mn)γΦ_(mn i) _(n) ^(n)Φ_(mn)(u), differentiating Φ_(mn) with respect to u^(n) _(i) _(n) yields the following i_(n)-th i_(n) ^(th) component of a subgradient g of for Φ_(mn)γ Φ_(mn)(u)

$\begin{matrix} {{g_{0}^{k} = 0}{g_{i_{k}}^{k} = {{\sum\limits_{i_{1} = 0}^{N_{1}}\;{\ldots{\sum\limits_{i_{k - 1} = 0}^{N_{k - 1}}{\sum\limits_{i_{k + 1} = 0}^{N_{k + 1}}\;{\ldots{\sum\limits_{i_{n} = 0}^{N_{m}}z_{i_{1}{\ldots i}_{n}}^{n}}}}}}} - 1}}{{{{for}\mspace{14mu} i_{k}} = 1},\ldots\mspace{14mu},{{N_{k}\mspace{14mu}{and}\mspace{14mu} k} = {m + 1}},\ldots\mspace{14mu},{n.}}} & {\left\lbrack \left\lbrack \lbrack 7.4\rbrack \right\rbrack \right\rbrack(2.19)} \end{matrix}$ If z^(n) is the unique optimal solution of [6.2] (2.7), δΦ_(mn)γ Φ_(mn) ∂Φ_(mn)(u)={g}and Φ_(mn) unique, then there are finitely many such solutions, say z^(n)(1), . . . ,z^(n)(K). Given the corresponding subgradients, g¹, . . . , g^(K), the subdifferential δΦγ δΦ(u) is the convex hull of {g¹, . . . , g^(K)}.

II.4.2 Mathematical Description of a Merit or Auxiliary Function

For real-time needs, one must address the fact that the non-smooth optimization problem of step 508 (FIG. 8) requires the solution of an NP-hard problem for m>2. One approach to this problem is to use the following merit or auxiliary function to decide whether a function value has increased or decreased sufficiently in the line search or trust region methods:

${\Psi_{mn}\left( {{\overset{\_}{u}}^{3},\ldots\mspace{14mu},{{\overset{\_}{u}}^{m};u^{m + 1}},\ldots\mspace{14mu},u^{n}} \right)} = \left\{ \begin{matrix} {\Phi_{mn}\left( {u^{m + 1},\ldots\mspace{14mu},u^{n}} \right)} & {{{if}\mspace{14mu} m} = 2} \\ \; & {{or}\mspace{14mu}\left\lbrack {{\left\lbrack (6.2){\rbrack\rbrack} \right.(2.7)\mspace{14mu}{is}\mspace{14mu}{solved}\mspace{14mu}{optimally}},} \right.} \\ {\Phi_{2n}\left( {{\overset{\_}{u}}^{3},\ldots\mspace{14mu},{{\overset{\_}{u}}^{m};u^{m + 1}},\ldots\mspace{14mu},u^{n}} \right)} & {{otherwise}.} \end{matrix} \right.$ where the multipliers ū³, . . . ,ū^(m) that appear in lower order relaxations used to construct (suboptimal) solutions of the m-dimensional relaxed problem (6.2) (2.7) have been explicitly included. Note that Ψ_(mn)γ Ψ_(mn) is well-defined since (2.7) can always be solved optimally if m=2. For sufficiently small problems (6.2) (2.7) or (6.4) (2.9), one can more efficiently solve the NP-hard problem by branch and bound. This is the reason for the inclusion of the first case; otherwise, the relaxed function Φ_(2n) is used to guide the nonsmooth optimization phase. That the merit function provides a lower bound for the optimal solution follows directly from Fact A.4 and the following fact.

Fact A.5. Given the definition of Ψ_(mn)γ Ψ_(mn) in (2.20) above, Ψ_(mnγ) ^(3 m m+1 n)≦Φ_(mn)γ^(m+1 n)ū³, . . . , ū^(m), u^(m+1), . . . ,u^(n)   [7.6] (2.21) The actual function value used in the optimization phase is Ψ_(mn)γ Ψ_(mn); however, the subgradients are computed as in (2.19), but with the solution z_(i) ₁ ^(n) . . . i_(n) being a suboptimal solution constructed from a relaxation procedure applied to the m-dimensional problem. Again, the use of these lower order relaxed problems is the reason for the inclusion of the multipliers ū³ . . . , ū^(m).

To explain how the merit function is used, suppose there is a current multiplier set (u_(old) ^(m+1), . . . , u_(old) ^(n)) and it is desirable to update to a new multiplier set (u_(new) ^(m+1), . . . , Δ^(n)Ψ_(mn)γ_(old) ³ _(old) ^(m) _(old) ^(m+1) _(old) ^(n)Δγ_(old) ³ _(old) ^(m)Δ obtained during the relaxation process used to compute a high quality solution to the relaxed m-dimensional assignment problem (6.2) at (u^(m+1), . . . ,u^(n))=(u_(old) ^(m+1), . . . ,u_(old) ^(n)). The decision to accept (u_(n) ^(m+1)ew. . . ,u^(n) _(new)) is then based on Ψγ_(mn) ³old^(m) _(old)u_(old) ^(m+1), . . . , u_(old) ^(n))>Ψ_(mn)γ_(new) ³ _(new) ^(m) _(new) ^(m+1) _(new) ^(n)Δ stopping criteria commonly used in line searches. Again, (ū_(new) ³, . . . ,ū_(new) ^(m)) represents the multiplier set used in the lower level relaxation procedure to construct a high quality feasible solution to the m-dimensional relaxed problem (6.2) at (u^(m+1), . . . , u^(n))=(u_(new) ^(m+1), . . . , u_(new) ^(n)). The point is that each time one changes (u^(m+1), . . . , u^(n)) and uses the merit function Ψ_(mn)γ³ _(m m+1 n)Δ generally change the lower level multipliers (ū×³, . . . , ū^(m)). To explain how the merit function is used, suppose there is a current multiplier set (u_(old) ^(m+1), . . . ,u_(old) ^(n)) and it is desirable to update to a new multiplier set (u_(new) ^(m+1), . . . ,u_(new) ^(n)) via (u_(new) ^(m+1), . . . ,u_(new) ^(n))=(u_(old) ^(m+1), . . . ,u_(old) ^(n))+(Δu^(m+1), . . . ,Δu^(n)). Then Ψ_(mn) (ū_(old) ³, . . . ,ū_(old) ^(m); u_(old) ^(m+1), . . . ,u_(old) ^(n)) is computed where (ū_(old) ³, . . . ,ū_(old) ^(m)) is obtained during the relaxation process used to compute a high quality solution to the relaxed m-dimensional assignment problem (2.7) at (u^(m+1), . . . ,u^(n))=(u_(old) ^(m+1), . . . ,u_(old) ^(n)). The decision to accept (u_(new) ^(m+1), . . . ,u_(new) ^(n)) is then based on Ψ_(mn)(ū_(old) ³, . . . ,ū_(old) ^(m); u_(old) ^(m+1), . . . ,u_(old) ^(n))<Ψ_(mn) (ū_(new) ³, . . . ,ū_(new) ^(m); u_(new) ^(m+1), . . . ,u_(new) ^(n)) or some other stopping criteria commonly used in line searches. Again, (ū_(new) ³, . . . ,ū_(new) ^(m)) represents the multiplier set used in the lower level relaxation procedure to construct a high quality feasible solution to the m-dimensional relaxed problem (2.7) at (u^(m+1), . . . ,u^(n))=(u_(new) ^(m+1), . . . ,u_(new) ^(n)). The point is that each time one changes (u^(m+1), . . . ,u^(n)) and uses the merit function Ψ_(mn) (ū³, . . . ,ū^(m); u^(m+1), . . . ,u^(n)) for comparison purposes, one must generally change the lower level multipliers (ū³, . . .,ū^(m)).

An illustration of this merit function for m=n−1 is given in “PARTITIONING MULTIPLE DATA SETS. MULTIDIMENSIONAL ASSIGNMENTS AND LAGRANGIAN RELAXATION”, by Aubrey B. Poore and Nenad Rijavec, and in “QUADRATIC ASSIGNMENT AND RELATED PROBLEMS, DIMACS SERIES IN DISCRETE MATHEMATICS AND THEORETICAL COMPUTER SCIENCE”, in American Mathematical Society, Providence, R.I., Vol. 16, 1994, pp. 25-37 edited by Panos M. Pardalos and Henry Wolkowicz (A. B. Poore and N. Rijavec. Partitioning Multiple Data Sets, Multidimensional Assignments and Lagrangian Relaxation. In P. M. Pardalos and H. Wolkowicz, editors, Quadratic Assignment and Related Problems: DIMACS Series in Discrete Mathematics and Theoretical Computer Science, volume 16, pages 25-37, 1994).

II.4.3 Non-smooth Optimization Methods

By Fact A.4 the function Φ_(mn)γΔ Φ_(mn)(u) is a continuous, piecewise affine, and concave, so that the negative of Φ_(mn)γΔ Φ_(mn)(u) is convex. Thus the problem of maximizing Φ_(mn)γΔ Φ_(mn)(u) is one of nonsmooth optimization. Since there is a large literature on such problems, only a brief discussion of the primary classes of methods for solving such problems is provided. A first class of methods, known as subgradient methods, are reviewed and analyzed in the book by (N. Z. Shor, . Minimization Methods for Non-Differentiable Functions, Springer-Verlag, New York, 1985). Despite their relative simplicity, subgradient methods have some drawbacks that make them inappropriate for the tracking problem. They do not guarantee a descent direction at each iteration, they lack a clear stopping criterion, and exhibit poor convergence (less than linear).

A more recent and sophisticated class of methods are the bundle methods; excellent developments are presented in the books of Hiriart-Urruty and Lemarechal: (J.-B. Hiriart-Urruty and C. Lemarechal,. Convex Analysis and Minimization Algorithms I and II,. Springer-Verlag, Berlin, 1993; and the book of K. C. Kiwiel: . Methods of Descent for Non-Differentiable Optimization. In A. Dold and B. Eckman, editors, Lecture Notes in Mathematics, Vol. volumen 1133, Berlin, 1985. Springer-Verlag, Berlin, 1985). Bundle methods retain a set (or bundle) of previously computed subgradients to determine the best possible descent direction at the current iteration. Because of the non-smoothness nonsmoothness of Φ_(mn), the resulting direction may not provide a “sufficient” decrease in Φ_(mn). In this case, bundle algorithms take a “null” step, wherein the bundle is enriched by a subgradient close to u_(k). As a result, bundle methods are non-ascent methods which satisfy the relaxed descent condition Φ_(mn)γ_(k+1)ΔΦ_(mn)γ_(k)Δ_(k+1)≠u_(k). These methods have been shown to have good convergence properties. In particular, bundle method variants have been proven to converge in a finite number of steps for piecewise affine convex functionals in (K.. Kiwiel,. An Aggregate Subgradient Method for Non-smooth Convex Minimization, aggregate subgradient method for non-smooth convex minimization. Mathematical Programming, 27, (1983) pp. : 320-341, and 1983; H. Schramm and J. Zowe,. A version of the bundle idea for minimizing a non-smooth function: Conceptual idea, convergence analysis, numerical results,. SIAM Journal on Optimization, 2 (1992), pp. No. 1:121-152, February, 1992).

All of the above non-smooth optimization methods require the computation Φ_(mn)γΔεδΦ_(mn)γΔ of Φ_(mn)(u) and a g εδΦ_(mn)(u). These in turn require the computation of the relaxed cost coefficients [6.3] (2.8). In both the first and second procedures discussed in section II.3.1, maximization of Φ_(2n)γΔ Φ_(2n)(u) must be repeatedly evaluated. In the most efficient implementations presently known of these two procedures, it was found that at least 95% of the computational effort of the entire procedure is spent in the evaluation of the relaxed cost coefficients [6.3] (2.8) as part of computing Φ_(2n)γΔ Φ_(2n)(u). Thus, generally a method should be chosen that makes as efficient use of the subgradients and function values as is possible, even at the cost sophisticated manipulation of the subgradients. In evaluating three different bundle procedures: (a) the conjugate subgradient method of Wolfe used in section I.1 of the first embodiment of the present invention; (b) the aggregate subgradient method of Kiwiel (described in K. C. Kiwiel,. An Aggregate Subgradient Method for Non-smooth Convex Minimization, aggregate subgradient method for non-smooth convex minimization. Mathematical Programming, 27, (1983) pp.: 320-341, 1083); and (c) the bundle trust method of Schramm and Zowe (described in H. Schramm and J. Zowe,. A version of the bundle idea for minimizing a non-smooth function: Conceptual idea, convergence analysis, numerical results,. SIAM Journal on Optimization, 2 (1992), pp. No. 1:121-152, February, 1992), it was determined that for a fixed number of non-smooth iterations, say, ten, the bundle-trust method provides good quality solutions with the fewest number of function and subgradient evaluations of all the methods, and is therefore the preferred method.

II.4.4 The Two Dimensional Assignment Problem

The forward/reverse auction algorithm of Bertsekas and Castañon (as described in D. P. Bertsekas and D. A. Castafion,. A forward/reverse auction algorithm for asymmetric assignment problems,. Computational Optimization and Applications, 1 (1992), pp.: 277-298, 1992) is used to solve the many relaxed two dimensional two-dimensional problems that occur in the course of execution.

II.4.5. Initial Multipliers and Hot Starts

The effective use of “hot starts” is fundamental for real-time applications. A good initial set of multipliers can significantly reduce the number of non-smooth iterations (and hence the number of Φ_(mn)Δ Φ_(mn) evaluations) required for a high quality recovered solution. Further, there are several ways that multipliers can be reused. First, if a an n-dimensional problem is relaxed to a an m-dimensional problem, relaxation provides the multiplier set {u^(m+1), u^(m+2), . . . ,u^(n)}. These can be used as the initial multipliers for the n−m+1 dimensional (n−m+1)-dimensional recovery problem for n−m+1>2. This approach has also worked well to reduce the number of non-smooth iterations during recovery.

Further, for track maintenance, initial feasible solutions are generated as follows. When a new scan of information (a new observation set) arrives from a sensor, one can obtain an initial primal feasible solution by matching new reports to existing tracks via a two dimensional two-dimensional assignment problem. This is known as the track-while-scan (TWS) approach. Thus, an initial primal solution exists and then we use the above relaxation procedure is to make improvements to this TWS solution. Also for track maintenance, multipliers are available from a previously solved and closely related multi-dimensional multidimensional assignment problems for all but the new observation set.

II.4.6. Local Search Methods

Given a feasible solution of the multi-dimensional multidimensional assignment problem, one can consider local search procedures to improve this result, as described in (C. H. Papadimitriou and K. Steiglitz,. Combinatorial Optimization: Algorithms and Complexity,. Prentice-Hall, Inc., Englewood Cliffs, N.J., 1982, and; J. Pearl,. Heuristics: intelligent search strategies for computer problem solving, Intelligent Search Strategies for Computer Problem Solving. Addison-Wesley, Reading, Mass., 1984). One method is the idea of k-interchanges k interchanges. Since for sparse problems only those active arcs that participate in the solution are stored, it is difficult to efficiently identify eligible variable exchange sets with some data structures for solving the assignment problem. However, a local search that may be more promising is to use the two dimensional two-dimensional assignment solver in the following way. Given a feasible solution to the multi-dimensional multidimensional assignment problem, the indices that correspond to active arcs in the solution are enumerated. Subsequently, one coordinate is freed to formulate a two dimensional two-dimensional assignment problem with one index corresponding to the enumeration and the other to the freed coordinate, and then solve a two dimensional two-dimensional assignment problem to improve the freed index position.

II.4.7. Problem Decomposition

The procedures described thus far are all based on relaxation. Due to the sparsity of assignment problems, however, frequently a decomposition of the problem into a collection of disjoint components can be done wherein each of the components can be solved independently. Due to the setup costs of Lagrangian relaxation, a branch and bound procedure is generally more efficient for small components, say ten to twenty feasible 0-1 variables (i.e., z_(i) _(1 . . . i) _(n) ). Otherwise, the relaxation procedures described above are used. Perhaps the easiest way to view the decomposition method is to view the reports or measurements as a layered graph. A vertex is associated with each observation point, and an edge is allowed to connect two vertices only if the two observations belong to at least one feasible track of observations. Given this graph, the decomposition problem can then be posed as that of identifying the connected subcomponents of a graph which can be accomplished by constructing a spanning forest via a depth first search algorithm, as described in (A. V. Aho, J. E. Hopcroft, and J. D. Ullman,. he Design and Analysis of Computer Algorithms,. Addison-Wesley Publishing Company, Reading, Mass., 1974). Additionally, decomposition of a different type might be based on the identification of bi- and tri-connected components of a graph and enumerating on the connections. Here is a technical explanation. Let Z-={z_(i) ₁ _(,) ₂ _(. . . i) _(n) |zi1i2 . . . in is not preassigned to zero} denote the set of assignable variables. Define an undirected graph G(N,A) where the set of nodes is N={z_(i) _(n) ^(m)in=1, . . . ,n; in=1, . . . , Nm} and arcs, A={(z_(j) _(n) ^(n),zj1¹)|n≠1, j_(n)≠0, j₁≠0 and there exists zi1i2 . . . inεZ such that j_(n)=i_(n) and j₁−i₁}. A={(z_(j) _(n) ^(n),z_(j) ₁ ¹)[|n≠1]|n≠1, j_(n)≠0, j₁≠0 and there exists z_(i) ₁ _(i) ₂ _(. . . i) _(n) εZ-.

Note that the nodes corresponding to zero index have not been Included in the above defined graph, since two variables that have only the zero index in common can be assigned independently. Connected components of the graph are then easily found by constructing a spanning forest via a depth first search. (A detailed algorithm can be found in the book by Aho, Hopcroft and Ullman cited above). Furthermore, this procedure is used at each level in the relaxation. i.e., is applied to each assignment problem [3.1] (1.4) for n=3, . . . ,M.

The original relaxation problem is decomposed first. All relaxed assignment problems can be decomposed a priori and all recovery problems can be decomposed only after they are formulated. Hence, in the n-to-(n−1) case, we have n−2 relaxed problems that can all be decomposed initially, and the recovery problems that are not decomposed (since they are all two dimensional two-dimensional). In the n-to-2 case, we have only one relaxed problem that can be decomposed initially. This case yields n−3 recovery problems, which can be decomposed only after they are formulated.

III. New Approaches to Track Initiation and Maintenance Using Multidimensional Assignment Problems

The ever-increasing demand for sensor surveillance systems is to accurately track and identify objects in real-time, even for dense target scenarios and in regions of high track contention. The use of multiple sensors, through more varied information, has the potential to greatly improve target state estimation and identification. However, to take full advantage of the available data, a multiple frame data association approach is needed. The most popular such approach is an enumerative technique called multiple hypothesis tracking (MHT). As an enumerative technique, MHT can be too computationally intensive for real-time needs because this problem is NP-hard. A promising approach is to utilize the recently developed Lagrangian relaxation algorithms (K. P.Pattipati, S. Deb, and Y.Bar-Shalom. A multisensor-multitarget data association algorithm for heterogeneous sensors. IEEE Transactions on Aerospace and Electronic Systems, 29, No. 2:560-568, April 1993; A. B. Poore and N.Rijavec. Partitioning multiple data sets: multidimensional assignments and lagrangian relaxation, in quadratic assignment and related problems, P. M. Pardalos and H.Wolkowicz, editors, DIMACS series in Discrete Mathematics and Theoretical Computer Science, 16:25-37, 1994; A. J. Robertson III. A class of lagrangian relaxation algorithms for the multidimensional problem. Ph.D. Thesis, Colorado State University, Ft. Collins, Colo., 1995) for the multidimensional assignment problem; however, there are many other potentially good approaches to these assignment problems such as LP relaxation combined with an interior point method, GRASP, and parallelization.

These data association problems are fundamentally important in tracking. Thus, our first objective is to present an overview of the tracking problem and the context within which these data association problems fit. Following a brief review of the probabilistic framework for data association, the second objective is to formulate two models for track initiation and maintenance as multidimensional assignment problems. This formulation is based on a window moving over the frames of data. The first and simpler model uses the same window length for track initiation and maintenance, while the second model uses different lengths. As the window moves over the frames of data, one creates a sequence of these multidimensional assignment problems and there is an overlap region of frames common to adjacent windows. Thus, given the solution of one problem, one can develop a warm start for the solution to the next problem in the sequence, as shown hereinafter. Such information is critically important to the design of real-time algorithms.

III.2. Overview of the Tracking Problem

Tracking and data fusion are complex subjects of specialization that can only be briefly summarized as they are related to the subject of this paper. The processing of track multiple targets using data from one or more sensors is typically partitioned into two stages or major functional blocks, namely, signal processing and data process processing (Y.Bar-Shalom, Multitarget-Multisensor Tracking: Advanced Applications. Artech House, Dedham, Mass., 1990; Y.Bar-Shalom and T. E. Fortmann, Tracking and Data Association, Academic Press, Boston, Mass., 1988; S. S. Blackman. Multiple Target Tracking with Radar Applications. Artech House, Dedham, Mass., 1986). The first stage is the signal processing that takes raw sensor data and outputs reports. Reports are sometimes called observations, threshold exceedances, plots, hits, or returns, depending on the type of sensor. The true source of each report is usually unknown and can be due to a target of interest, a false signal, or persistent background objects that can be moving in the field of view of the sensor.

Two principal functions of data processing are tracking and discrimination or target identification. The discrimination or target identification function distinguishes between tracks that are for targets of interest and other tracks such as those due to background. Also, if there is enough information, each track is classified as to the type of target it appears to represent. Target identification and discrimination will not be discussed further in this paper except to comment here on the use of attributes (including identification information) in the data association.

There are two types of attributes or features, namely, discrete valued variables and continuous valued variables. Available attributes of either or both types should be used in computing the log likelihoods or scores for data association. In discussing tracking in this paper, the attributes will not be mentioned explicitly but it should be understood that some reports and some tracks may include attributes information that should be and can be used in the track processing (both data association and filtering) if it is useful.

III.2.1 Tracking Functions

The tracking function accepts reports for each frame of data and constructs or maintains a target state estimate, the variance-covariance matrix of the state estimation error, and refined estimates (or probabilities) of the target attributes. The state estimate typically includes estimates of target position and velocity in three dimensions and possibly also acceleration and other variables of interest.

The tracking function is typically viewed in two stages, namely, data association and filtering. Also, the process of constructing new tracks, called track initiation, is different from the process of updating existing tracks, called track maintenance.

In track maintenance, the data association function decides how to relate the reports from the current frame of data to the previously computed tracks. In one approach, at most one report is assigned to each track, and in other approachesm, weights are assigned to the pairings of reports to a track. After the data association, the filter function updates each target state estimate using the one or more (with weights) reports that were determined by the data association function. A filter commonly used for multiple target tracking and data fusion is the well know Kalman filter (or the extended Kalman filter in the case of nonlinear problems) or a simplified version of it (Y.Bar-Shalom, Multitarget-Multisensor Tracking: Advanced Applications. Artech House, Mass., 1990; Y.Bar-Shalom and T. E. Fortmann, Tracking and Data Association, Academic Press, Boston, Mass., 1988; S. S. Blackman. Multiple Target Tracking with Radar Applications. Artech House, Dedham, Mass., 1986).

In track initiation, typically a sequence of reports is selected (one from each of a few frames of data) to construct a new track. In track initiation, the filtering function constructs a target state estimate and related information based on the selected sequence of reports. The new track is later updated by the track maintenance processing of the subsequent frames of reports.

In some trackers, there is also a tentative tracking function for processing recently established tracks until there is enough confidence to include them in track maintenance. While for simplicity of presentation, tentative tracking will not be included in the processing discussed in this paper, the techniques discussed could readily include one or more tentative tracking functions.

There have been numerous approaches developed to perform the data association function. Since optimal data association is far too complex to implement, good but practical sub-optimal approaches are pursued. Data association approaches can be classified in a number of ways. On One way to classify data association approaches is based on the number of data frames used in the association process (O. E. Drummond. Multiple sensor tracking with multiple frame, probabilistic data association. In Signal and Data Processing of Small Targets, SPIE Proceedings, volume 2561, pages 322-336, 1995). In single frame data association for track maintenance, “hard decisions” are made each frame as to how the on the assignment of reports are to be related to the tracks. Some single frame approaches include: individual nearest neighbor, FDA, JPDA, and global nearest neighbor (sequential most probable hypothesis tracking), which uses a two dimensional two-dimensional assignment algorithm (Y. Bar-Shalom. Multitarget-Multisensor Tracking: Advanced Applications. Artech House, Mass., 1990; Y. Bar-Shalom and T. E. Fortmann. Tracking and Data Association. Academic Press, Boston, Mass., 1988; S. S. Blackman. Multiple Target Tracking with Radar Applications. Artech House, Dedham, Mass., 1986). In most single frame data association approaches, only one track per object is carried forward to be used in processing the next frame of reports.

Multiple frame data association is more complex and frequently involves purposely carry carrying forward more than one track per target to be used in processing the next frame of reports. By retaining more than one track per target, the tracking performance is improved at the cost of increased processing load. The best known multiple frame data association approach is an enumerative technique called multiple hypothesis tracking (MHT) which enumerates all the global hypothesis with various pruning rules.

As shown hereinafter, the log likelihood of the probability of a global hypothesis can be decomposed into the sum of scores of each track that is contained in the hypothesis. As a consequence, the most probable hypothesis can be identified with the aid of a non-enumerative algorithm for the assignment so formulated.

Interface Between Track Initiation And Track Maintenance

There are a number of ways that track initiation and track maintenance functions can interact. Two ways that are especially pertinent to the methods of this paper will be discussed in this section.

One approach is to treat these two functions sequentially, by first assigning reports to tracks and then using the information that remains to form new tracks. A better approach is to integrate both processes where initiating tracks compete for the new frame of reports on an equal basis, i.e., at the same time.

In the integrated approach, the data association for track initiation and track maintenance processing are combined and conducted simultaneously. One assignment array is created that includes the track scores for potential tracks for both track initiation and track maintenance. The first dimension of the assignment problem includes only all the tracks either created or updated in the processing of the prior frames of reports. Each of the remaining dimensions accommodates one frame of reports.

After the assignment algorithm finds a solution, each of the previously established tracks are updated with the report assigned to it from the second dimension of the assignment array. The remaining reports in the second dimension that were in the assignment solution are firmly established as track initiators. The unassigned reports in the second dimension of the assignment array are discarded as false signals. The processing of the next frame of reports repeats this process using these updated tracks and the newly identified initiators in the first dimension of the cost array for processing the new frame of reports. Details of this approach are discussed hereinafter.

The integrated approach just discussed, uses the same number of frames of reports for both track initiation and track maintenance. The goal in using the multi-dimensional assignment algorithm is to provide improved performance while minimizing the amount of processing required. Typically, track initiation will benefit from more frames of reports than will track maintenance. Thus, a second approach that integrates track initiation and track maintenance is discussed hereinafter, wherein the number of frames of reports is not the same for these two functions. This is a novel approach that is introduced in this paper.

Multiple Sensor Processing

There are many advantages and many ways to of combining data from multiple sensors. There are also many ways of categorizing the different algorithmic architectures for processing data from multiple sensors. One approach outlines four generic algorithmic architectures (O. E. Drummond. Multiple sensor tracking with multiple frame, probabilistic data association. In Signal and Data Processing of Small Targets, SPIE Proceedings, volume 2561, pages 322-336, 1995). Two of these generic architectures are especially pertinent to this paper and are summarized briefly.

In the Centralized Fusion algorithmic architecture, reports are combined from the various sensors to form global tracks. This algorithmic architecture is also called Central Level Tracking, Centralized Algorithmic Architecture, or simply the Type IV algorithmic architecture. In track maintenance, for example, if a single frame data association is used, then for data association a frame of reports from one sensor is processed with the latest global tracks; then the global tracks are updated by the filter function. After the processing of this frame of reports is completed, a frame of the reports from another (or the same) sensor is processed with these updated global tracks. This process is continued as new frames of data become available to the system as a whole.

In Centralized Fusion, using the multi-dimensional assignment algorithm for the data association with multiple sensors is similar to the processing of data from a single sensor. Instead of using multiple frames of reports from a single sensor, the multiple frames of reports come from multiple sensors. The frames of reports from all the sensors are ordered based on the nominal time each frame of reports is obtained and independent of which sensor provided the reports. In this way the approaches discussed in this paper can be extended to process reports from multiple sensors using the Centralized Fusion algorithmic architecture.

The second pertinent algorithmic architecture is Track Fusion. This approach is also called the Hierarchical or Federated algorithmic architecture, sensor level tracking or simply the Type II algorithmic architecture. In track maintenance, for example, a processor for each sensor computes single sensor tracks; these tracks are then forwarded to the global tracker to compute global tracks based on data from all sensors.

After the first time a sensor processor forwards tracks to the global tracker, then subsequent tracks for the same targets are cross-correlated with the existing global tracks. This track-to-track cross-correlation is due to the common history of the current sensor tracks and the tracks from the same sensor that were forwarded earlier to the global tracker. The processing must take this cross-correlation into account and there are a number of ways of compensating for this-cross-correlations. One method for dealing with this cross-correlation is to decorrelate the sensor tracks that are sent to the global tracker. There are a variety of ways to achieve this decorrelation and some are summarized in Drummond, 1996, Signal Data Proc.recent paper (O. E. Drummond, Feedback in track fusion without process noise. In Signal and Data Processing of Small Targets 1995, SPIE Proceedings, -2561:369-383 volume 2561, pages 369-383, 1995.

Once the sensor tracks are decorrelated they can be processed by the global tracker in almost the same way as reports are processed. In the case of track fusion the association process is referred to as track (or track-to-track) association rather than data (or report-to-track) association. If the sensor tracks are decorrelated, the global tracker can process the tracks from the various sensor processors in much the same way that the global tracker of Centralized Fusion processes reports. Accordingly the methods described in this paper can be readily extended to processing data from multiple sensors using either the Centralized Fusion or Track Fusion or even a hybrid combination of both algorithmic architectures.

III.3 Formulation of the Data Association Problem

The goal of this section is to briefly outline the probabilistic framework for the data association problems presented in this work. The technical details are presented elsewhere (A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994). The data association problems for multisensor and multitarget tracking considered in this work are generally posed (A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994) as that of maximizing the posterior probability of the surveillance region (given the data) according to Maximize {P(Γ=γ|Z^(N+1))|γεΓ*}  (3.1) where Z^(N+1) represents N+1 data sets, γ is a partition indices of the data (and thus induces a partition of the data) T* is the finite collection of all such Partitions, F is a discrete random element defines on F*, partition,and P(Γγ|Z^(N+1)) is the posterior probability of a partition γ N+1 is defined below; being true given the data Z^(N+1). The term partition is defined below; however, this framework is currently sufficiently general to cover set packings and coverings.

Consider N+1 data sets Z(k)(k=1, . . . , N+1), each consisting of M_(k) actual reports and a dummy report z_(o) ^(k), and let denote the cumulative data set defined by Z(k)={z_(i) _(k) ^(k)}_(i) _(k) ^(M) ^(k) =0 and Z^(N+1)={Z(1), . . . , Z(N+1)},   (3.2) respectively. (The dummy report z_(o) ^(k) serves several purposes in the representation of missing data, false reports, initiating tracks, and terminating tracks (A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994).) In multisensor data fusion and multitarget tracking the data sets Z(k) may represent different classes of objects, and each data set can arise from different sensors. For track initiation the objects are reports that must be partitioned into tracks and false alarms. In our formulation of track maintenance, which uses a moving window, one data set will be tracks and remaining data sets will be reports which are assigned to existing tracks, as false reports, or to initiating tracks.

We specialize the problem to the case of set partitioning (A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994) defined in the following way. Define a “track of data” as {z_(i) ₁ ¹, . . . , z_(i) _(N+1) ^(N+1)} where each i_(k) and z_(i) _(k) ^(k) can assume the zero or nonzero values of 0 and z_(o) ^(k), respectively. A partition of the data will refer to a collection of tracks of data wherein each report occurs exactly once in one of the tracks of data and such that all data is used up; the occurrence of dummy report is unrestricted. The reference partition γ^(o) is that in which all reports are declared to be false.

Next, under appropriate independence assumptions one can show

$\begin{matrix} {{\frac{P\left( {\Gamma = {\gamma ❘Z^{N + 1}}} \right)}{P\left( {\Gamma = {\gamma^{0}❘Z^{N + 1}}} \right)} \equiv {L\;\gamma} \equiv {\begin{matrix} \pi \\ {\left( {i_{1}\ldots\mspace{14mu} i_{N + 1}} \right) \in \gamma} \end{matrix}L_{i_{1}\ldots\; i_{N + 1}}}},} & (3.3) \end{matrix}$ L_(i) ₁ _(. . . iN+)1 is a likelihood ratio containing probabilities for detection, maneuvers, and termination as well as probability density functions for report errors, track initiation and termination. Define

$\begin{matrix} \begin{matrix} {{c_{i_{1}\ldots\; i_{N + 1}} = {- {\ln L}_{i_{1}\ldots\; i_{N + 1}}}},} \\ {z_{i_{1}\ldots\; i_{N + 1}} = \left\{ \begin{matrix} 1 & {{{if}\mspace{14mu}\left( z_{i_{1}\ldots\; i_{N + 1}} \right)\mspace{14mu}{are}\mspace{14mu}{assigned}\mspace{14mu}{to}\mspace{14mu}{as}\mspace{14mu} a\mspace{14mu}{track}},} \\ 0 & {{otherwise}.} \end{matrix} \right.} \end{matrix} & {\left\lbrack \left\lbrack \lbrack 3.4\rbrack \right\rbrack \right\rbrack(1.7)} \end{matrix}$ Then, recognizing that

${{- {\ln\left\lbrack \frac{P\left( \left\lbrack \left\lbrack {{{\Gamma\gamma}{\rbrack\rbrack}\Gamma} = {\gamma ❘Z^{N + 1}}} \right) \right. \right.}{P\left( {{\left\lbrack \left\lbrack \gamma^{0} \right\rbrack \right\rbrack\Gamma} = {\gamma^{0}❘Z^{N + 1}}} \right)} \right\rbrack}} = {{\left\lbrack \quad \right.\lbrack\sum\rbrack}\left. \quad \right\rbrack\;{\sum\limits_{{({i_{1}\ldots\; i_{N + 1}})} \in {\gamma\lbrack{\lbrack c\rbrack}\rbrack}}\; c_{i_{1}\ldots\; i_{N + 1}}}}},$ the problem (3.1) can be expressed as the N+1-dimensional (N+1)-dimensional assignment problem

$\begin{matrix} \begin{matrix} {{Minimize}{~~~}{\sum\limits_{i_{1} = 0}^{M_{1}}{\ldots{\sum\limits_{i_{N + 1} = 0}^{M_{N + 1}}\;{c_{i_{1}\ldots\; i_{N + 1}}z_{i_{1}\ldots\; i_{N + 1}}}}}}} \\ {{{{Subject}\mspace{14mu}{To}{~~~}{\sum\limits_{i_{2} = 0}^{M_{2}}{\ldots{\sum\limits_{i_{N + 1} = 0}^{M_{N + 1}}\; z_{i_{1}\ldots\; i_{N + 1}}}}}} = 1},{i_{1} = 1},\ldots\mspace{14mu},M_{1},} \\ {{\sum\limits_{i_{1} = 0}^{M_{1}}{\ldots{\sum\limits_{i_{k - 1} = 0}^{M_{k - 1}}{\sum\limits_{i_{k + 1} = 0}^{M_{k + 1}}\;{\ldots{\sum\limits_{i_{N + 1} = 0}^{M_{k + 1}}z_{i_{1}\ldots\; i_{N + 1}}}}}}}} = 1} \\ {{{{for}\mspace{14mu} i_{k}} = 1},\ldots\mspace{14mu},{{M_{k}\mspace{14mu}{and}\mspace{14mu} k} = 2},\ldots\mspace{14mu},N,} \\ {{{\sum\limits_{i_{1} = 0}^{M_{1}}{\ldots{\sum\limits_{i_{N + 1 - 1} = 0}^{M_{N}}z_{i_{1}\ldots\; i_{N + 1}}}}} = 1},{i_{N + 1} = 1},\ldots\mspace{14mu},M_{N + 1},} \\ {{z_{i_{1}\ldots\; i_{N + 1}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}}},\ldots\mspace{14mu},i_{N + 1},} \end{matrix} & (3.5) \end{matrix}$ where c_(O . . . O) is arbitrarily defined to be zero. Here, each group of stuns in the constraints represents the fact that each non-dummy report occurs exactly once in a “track of data.” One can modify this formulation to include multiassignments multi-assignments of one, some, or all the actual reports. The assignment problem (3.5) is changed accordingly. For example, if z_(i) _(k) ^(k) is to be assigned no more than, exactly, or no less than n^(i) _(k) ^(k) times, then the “=1” in the constraint (3.5) is changed to “≦, =, ≧n_(i) _(k) ^(i),” respectively. In making these changes, one must pay careful attention to the independence assumptions, which need not be valid in many applications. Expressions for the likelihood ratios can be found in the work of Poore, 1994, Computational Optimization & Appl., 3:27-57, (A. B. Poore. Multidimensional assignments and multitarget tracking, partitioning data sets, I. J. Cox, P. Hansen, and B. Julesz, editors. DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, R.I., 19:169-198, 1995) and the references therein.

III.4. Track Initiation and Maintenance

In this section we explain two multiframe assignment formulations to the track initiation and maintenance problem. The continued use of all prior information is computationally intensive for tracking, so that a window sliding over the frames of reports is used as the framework for track maintenance and track initiation within the window. The objectives are to describe an improved version of a simple method and then to put this into a more general framework in which track initiation and maintenance have different length moving windows.

III.4.1 The First Approach to Track Maintenance and Initiation

The first method as explained in this section is an improved version of our first track maintenance scheme (A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994) and uses the same window length for track initiation and maintenance after the initialization step. The process is to start with a window of length N+1 anchored at frame one. In the first step one there is only one track initiation in that we assume no prior existing tracks. In the second and all subsequent frames, there is a window of length N anchored at frame k plus a collection of tracks up to frame k. This window is denoted by {k;, k+1, . . . , k+N}. The following explanation of the steps is much like mathematical induction in that we explain the first step and then step k to step k+1.

Track Maintenance and Initiation: Step 1. Let {i₁(l₂),i₂(l₂) . . . , i_(N)(l₂),i_(N+1)(l₂)}_(l) ₂ ^(L) ² =1   (4.1) (3.6) be an enumeration of all those zero-one variables in the solution of the assignment problem (3.5) (i.e., z_(i) ₁ _(i) ₂ _(. . . i) _(N+1) ₌₁) excluding all the false reports in the solution (i.e., all those zero-one variables with exactly one nonzero index) and zero-one variables in the solution for which (i₁,i₂)=(0,0). (The latter can correspond to tracks that initiate on frames three and higher.) These denote our initial tracks.

Consider only the first two index sets in this enumeration (4.1) (3.6) and add the zero index l₂=0 with the corresponding values of i₁ and i₂ being zero. Thus, the enumeration is now {i₁(l₂),i₂(l₂)}_(l) ₂ ^(L) ² =0. The notation T₂(l₂)≡(z_(i) ₁ _((l) ₂ ₎,Z_(l) ₂ _((l) ₂ ₎) will be used for this pairing. Suppose now that the next data set, i.e., the (N+2)^(th) set, is added to the problem.

To explain the costs for the new problem, one starts with the hypothesis that a partition γεΓ* being true is now conditioned on the truth of the pairings on the first two frames being correct. Corresponding to the sequence {T₂, (l₂),z_(i) ₃ , . . . ,z_(i) _(n+2) }, the likelihood function is then given by

$\begin{matrix} {{{L_{\gamma} \equiv {\underset{{\{{{T_{2}{(l_{2})}},z_{i_{3}},\ldots,z_{i_{N + 2}}}\}} \in \gamma}{\pi}L_{l_{2}i_{3}\ldots\; i_{N + 2}}}},{where}}{{L_{l_{2}i_{3}\ldots\; i_{N + 2}} \equiv {L_{T_{2}{(l_{2})}}L_{z_{i_{3}},\ldots,z_{i_{N + 2}}}}},{L_{T_{2}{(0)}} = 1.}}} & {\left\lbrack \lbrack \right.{\left\lbrack {4.2a} \right\rbrack{\rbrack\rbrack}(3.7)}} \end{matrix}$ Next, define the cost and the corresponding zero-one variable

$\begin{matrix} {{C_{l_{2}i_{3}\ldots\; i_{N + 2}} = {{- \ln}\; L_{l_{2}i_{3}\ldots\; i_{N + 2}}}},{z_{l_{2}i_{3}\ldots\; i_{N + 2}} = \left\{ \begin{matrix} {1,} & {{{if}\mspace{14mu}\left\{ {z_{i_{3}}^{3},\ldots\mspace{14mu},z_{i_{N + 2}}^{N + 2}} \right\}\mspace{14mu}{is}\mspace{14mu}{assigned}\mspace{14mu}{to}\mspace{14mu}{Track}\mspace{14mu}{T_{2}\left( l_{2} \right)}},} \\ {0,} & {{otherwise},} \end{matrix} \right.}} & {\left\lbrack \left\lbrack \left\lbrack {4.2b} \right\rbrack \right\rbrack \right\rbrack(3.8)} \end{matrix}$ respectively. Then the track maintenance problem Maximize {Lγ|γεΓ* assignment

$\begin{matrix} \begin{matrix} {{Minimize}{~~~}{\sum\limits_{l_{2} = 0}^{L_{2}}{\sum\limits_{i_{3} = 0}^{M_{1}}{\ldots{\sum\limits_{i_{N + 2} = 0}^{M_{N + 2}}\;{c_{l_{2}i_{3}\ldots\; i_{N + 2}}z_{l_{2}i_{3}\ldots\; i_{N + 2}}}}}}}} \\ {{{{Subject}\mspace{14mu}{to}\text{:}{~~~}{\sum\limits_{i_{3} = 0}^{M_{3}}{\ldots{\sum\limits_{i_{N + 2} = 0}^{M_{N + 2}}\; z_{l_{2}i_{3}\ldots\; i_{N + 2}}}}}} = 1},{l_{2} = 1},l_{2},\ldots\mspace{14mu},L_{2},} \\ {{{\sum\limits_{l_{2} = 0}^{L_{2}}{\sum\limits_{i_{4} = 0}^{M_{4}}{\ldots{\sum\limits_{i_{N + 2} = 0}^{M_{N + 2}}\; z_{l_{2}i_{3}\ldots\; i_{N + 2}}}}}} = 1},{i_{3} = 1},\ldots\mspace{14mu},M_{3},} \\ {{{\sum\limits_{l_{2} = 0}^{L_{2}}{\sum\limits_{i_{3} = 0}^{M_{4}}{\ldots{\sum\limits_{i_{p - 1} = 0}^{M_{p - 1}}{\sum\limits_{i_{p + 1} = 0}^{M_{p + 1}}{\ldots{\sum\limits_{i_{N + 2} = 0}^{M_{N + 2}}\; z_{l_{2}i_{3}\ldots\; i_{N + 2}}}}}}}}} = 1},} \\ {{{{for}\mspace{14mu} i_{p}} = 1},\ldots\mspace{14mu},{{M_{p}\mspace{14mu}{and}\mspace{14mu} p} = 4},\ldots\mspace{14mu},{N + 2 - 1},} \\ {{{\sum\limits_{l_{2} = 0}^{L_{2}}{\sum\limits_{i_{3} = 0}^{M_{1}}{z_{i_{1}\ldots\; i_{N + 1}}\ldots{\sum\limits_{i_{N + 2 - 1} = 0}^{M_{N + 2 - 1}}z_{l_{2}i_{3}\ldots\; i_{N + 2}}}}}} = 1},} \\ {{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{i_{N + 2} = 1},\ldots\mspace{14mu},M_{N + 2},}} \\ {{z_{l_{2}i_{3}\ldots\; i_{N + 2}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} l_{2}i_{3}}},\ldots\mspace{14mu},{i_{N + 2}.}} \end{matrix} & (3.9) \end{matrix}$

Track Maintence Maintenance and Initiation: Step k. At the beginning of the k^(th) step, we solve the following (N+1)-dimensional assignment problem.

$\begin{matrix} \begin{matrix} {{{Minimize}\left\lbrack \left\lbrack \text{:} \right\rbrack \right\rbrack}{\mspace{14mu}}{\sum\limits_{l_{k} = 0}^{L_{k}}\;{\sum\limits_{i_{k + 1} = 0}^{M_{k + 1}}{\ldots\;{\sum\limits_{i_{k + N} = 0}^{M_{k + N}}\;{c_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + N}}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + N}}}}}}}} \\ {{{{Subject}\mspace{14mu}{to}\text{:}{~~~}{\sum\limits_{i_{k + 1} = 0}^{M_{k + 1}}{\ldots\;{\sum\limits_{i_{k + N} = 0}^{M_{k + N}}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + N}}}}}} = 1},{l_{k} = 1},{\ldots\mspace{14mu} L_{k}},} \\ {{{\sum\limits_{l_{k} = 0}^{L_{k}}\;{\sum\limits_{i_{k + 2} = 0}^{M_{k + 2}}{\ldots\;{\sum\limits_{i_{k + N} = 0}^{M_{k + N}}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + N}}}}}} = 1},{i_{k + 1} = 1},{\ldots\mspace{14mu} M_{k + 1}},} \\ {{{\sum\limits_{l_{k} = 0}^{L_{k}}\;{\sum\limits_{i_{k + 1} = 0}^{M_{k + 1}}{\ldots{\sum\limits_{i_{p - 1} = 0}^{M_{p - 1}}{\sum\limits_{i_{p + 1} = 0}^{M_{p + 1}}{\ldots\;{\sum\limits_{i_{k + N} = 0}^{M_{k + N}}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + N}}}}}}}}} = 1},} \\ {{{{for}\mspace{14mu} i_{p}} = 1},\ldots\mspace{14mu},{{M_{p}\mspace{14mu}{and}\mspace{14mu} p} = {k + 2}},\ldots\mspace{14mu},{N + k - 1},} \\ {{{\sum\limits_{l_{k} = 0}^{L_{k}}\;{\sum\limits_{i_{k + 1} = 0}^{M_{k + 1}}{\ldots\;{\sum\limits_{i_{k + 1 + N - 2} = 0}^{M_{k + 1 + N - 2}}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + N}}}}}} = 1},{i_{k + N} = 1},{\ldots\mspace{14mu} M_{k + N}}} \\ {{z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + N}} \in \mspace{11mu}{\left\{ {0,1} \right\}{\mspace{11mu}\;}{for}\mspace{20mu}{all}{\mspace{11mu}\mspace{11mu}}l_{k}}},i_{k + 1},\ldots\mspace{14mu},i_{k + N},} \end{matrix} & {\left\lbrack \left\lbrack (4.4) \right\rbrack \right\rbrack(3.10)} \end{matrix}$ where for the first stepl_(i) and L₁ are replaced by i₁ and M₁, respectively. The first index l_(k) in the subscripts corresponds to the sequence of tracks {T_(k)(l_(k))}_(l) _(k) ^(L) ^(k) =0, where T_(k)(l_(k))={z_(i) ₁ ¹l(l_(k)), . . . , z_(i) _(k) ^(k)(l_(k))} is a track of data from the solution of the problem prior to the formulation of (4.4) or if (3.10). If k=1, then it is just the first data set in frame one.

Basic Assumption. Suppose problem (4.4)(3.10) has been solved and let the solution, i.e., those zero-one variables equal to one, be enumerated by {(l_(k)(l_(k+1)),i_(k+1)(l_(k+1)), . . . ,i_(k+N)(l_(k+1)))}_(l) _(k+1) ^(L) ^(k+1) =1   (4.5) (3.11) with the following excpetions.

a. All zero one zero-one variables for which (l_(k),i_(k+1))=(0,0) are excluded. Thus, tracks that initiate on frames after the (k+1)^(th) are not included in the list.

b. All zero-one variables whose subscripts have the form l_(k)=0 and exactly one nonzero index in the remaining indices {i_(k+1), . . . ,i_(k+N)} are excluded These correspond to false reports on frames p=k+1, . . . ,k+N.

c. All variables (z_(i) _(k) _(j) _(k+1) _(. . . l) _(k+N) ) z_(l) _(k) _(j) _(k+1) _(. . . i) _(k+N) for which (i_(k+1), . . . , i_(k+N))=(0,0, . . . ,0) and l_(k)(l_(k))=0 in (4.5) are excluded from (1.11). In other words, the reports on the last N+1 frames in the {T_(k)(l_(k)),_(i) _(k+N) ^(z) ^(k+1) } are all dummy. Any solution with this feature corresponds to a terminated track.

Given the enumeration (4.5) (3.11), one now fixes the assignments on the first two index sets in the list (4.5) (3.11). The zero index l_(k+1)=0 is added to the enumeration to specify (l_(k)(0),i_(k+1)(0))=(0,0) that is used to represent false reports and tracks that initiate on frame k+2 or later, so that the enumeration (4.5) (3.11) is now {(l_(k)(l_(k+1)),i_(k+1)(l_(k+1)))}_(l) _(k+1) ^(L) ^(k+1) =0   (4.6)

Then, for l_(k+1)=1, . . . ,L_(k+1), the 1_(l) _(k+1) ^(th) such track is denoted by {T_(k+1)(l_(k+1))={T_(k)(l_(k)(l_(k+1))),zk+1_(i) _(k+1) (l_(k+1))} and the (N+1)-tuple {T_(k+1)(1_(k+1)),z_(i) _(k+2) ^(k+2), . . . ,z_(l) _(k+1+N) ^(k+1+N)} will denote a track T_(k+1)(1_(k+1)) plus a set of reports {z_(l) _(k+2) ^(k+2), . . . ,z_(i) _(k+1+N) ^(k+1+N)}, actual or dummy, that are feasible with the track T_(k+1)(1_(k+1)). The (N+1)-tuple {T_(k+1)(0),z_(i) _(k+2) ^(k+2), . . . ,z_(i) _(k+1+N) ^(k+1+N)} will denote a track that initiates in the sliding window, i.e., on subsequent frames. A false report in the sliding window is one with all but one non-zero index i_(p) for some p=k+2, . . . , k+1+N in the (N+1)-tuple {T_(k+1)(0),z_(i) _(k+2) ^(k+2), . . . ,z_(i) _(k+1+N) ^(k+1+N)}.

The corresponding hypothesis about a partition γεΓ* being true is now conditioned on the truth of the L_(k+1) tracks existing at the beginning of the N-frame window. (Thus the assignments prior to this sliding window are fixed.) The likelihood function is given by

$\begin{matrix} \begin{matrix} {L_{l_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{k + 1 + N}} = {L_{T_{k + 1}{(l_{k + 1})}}L_{z_{i_{k + 2}}^{k + 2},\ldots\mspace{14mu},z_{i_{k + 1 + N}}^{k + 1 + N},}}} \\ {L_{T_{k + 1}{(0)}} = 1.} \end{matrix} & \left. {{{\left( \left\lbrack \lbrack \right. \right.4.7a}{\rbrack\rbrack}}3.12} \right) \end{matrix}$ Next, define the cost and the zero-one variable by

said at least one inert gas has an amount, on a molar basis, that is greater than the amount of said oxygen in said pressurized medium;

$\begin{matrix} {{c_{l_{k + 1}i_{k + 2}\mspace{14mu}\ldots\mspace{14mu} i_{k + 1 + N}} = {{{- \ln}\; L_{l_{k + 1}i_{{k + 2}\;}\ldots\mspace{14mu} i_{k + 1 + N}}} \equiv {{- \ln}\; L_{{T_{k + 1}{(l_{k + 1})}}z_{i_{k + 2}}\ldots\mspace{14mu} z_{i_{k + 1 + N}}}}}},{z_{l_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{k + 1 + N}} = \left\{ \begin{matrix} {1,} & {{{if}\mspace{14mu}\left\{ {z_{i_{k + 2}}^{k + 2},\ldots\mspace{14mu},z_{i_{k + 1 + N}}^{k + 1 + N}} \right\}\mspace{14mu}{is}\mspace{14mu}{assigned}\mspace{14mu}{to}\mspace{14mu}{T_{k + 1}\left( l_{k + 1} \right)}},} \\ {0,} & {{otherwise},} \end{matrix} \right.}} & {\left\lbrack \left\lbrack \left( {4.7b} \right) \right\rbrack \right\rbrack(3.13)} \end{matrix}$ respectively, so that the track extension problem, which was originally formulated as Maximize {Lγ|γεΓ*}, can be expressed as exactly the same multi-dimensional assignment in (3.4) but with k replaced by k+1. Thus, we do not repeat it here.

III.4.2. The Second Approach to Track Maintenance and Initiation

In the first approach the window lengths were the same for both track maintenance and initiation. This can be inefficient in that one can usually use a shorter window for track maintenance than for track initiation. This section addresses such a formulation.

The General Step k. To formulate a problem for track initiation and maintenance we consider a moving window centered as frame k of length I+J+1 denoted by [k−I, . . . ,k, . . . ,k+J. In this representation, the window length for track maintenance is J and that for initiation, I+J+1. The objective will be to explain the situation at this center and then the move to the same length window at center k+1 denoted by [k+1−I k+1−I, . . . ,k+1, . . . ,k+1+J], i.e., by moving the frame window to the right one frame at time to the right. The explanation from the first step follows hereinafter.

The notation for a track of data is T_(k)(l_(k))={z_(i) ₁ ¹(l_(k)), . . . ,z_(i) _(p) ^(p)(l_(k)), . . . ,z_(i) _(k) ^(k)(l_(k))}  (4.8) (3.14) where the index l_(k) is used for an enumeration of those reports paired together. We also use the notation T_(p,k)(l_(k)) to denote the sequence of reports belonging to track T_(k)(l_(k)) but restricted to frames prior to and including p. Thus, T_(k)(l_(k))=T_(k,k)(l_(k)) T_(k)(l_(k))={z_(i) ₁ ¹(l_(k)), . . . ,z_(i) _(p) ^(p) _((l) _(k) ₎} T_(k,k)(l_(k))=T_(p,k)(l_(k))∪{z_(i) _(p+1) ^(p+1), . . . ,z_(i) _(k−1) ^(k−1) _((l) _(k) ₎,z_(i) _(k) ^(k) _((l) _(k) ₎} for p≦k−1.  (4.9) (3.15) Given this notation for the tracks and partition of the data in the frames {k−I, . . . ,k, . . . ,k+J}. L_(T) _(p,k) _()l) _(k) ₎ will denote the accumulated likelihood ratio up to and including frame p(p≦k) for a track that is declared as existing on frame k as a solution of the assignment problem. In this notation, the likelihood for T_(p,k)(l_(k)) and that of the association of {z_(l) _(k+1) ^(k+1), . . . , z_(l) _(k+N) ^(k+N)} with track T_(k)(l_(k)) is given by L_(t) _(k) _((l) _(k) ₎=L_(T) _(p,k) _((l) _(k) ₎L_(i) _(p+1) _((l) _(k) _() . i) _(k) _((i) _(k) ₎ for any p≦k−1, L_(T) _(k) _((l) _(k) ₎ _(k+1) _(i) _(k+N) =L_(T) _(pk) _((l) _(k) ₎L_(i) _(p+1) _((l) _(k) _() i) _(k) _((i) _(k) ₎ _(i+N) for any p≦k−1,   (4.10) (3.16) respectively.

The cost for the assignment of {k_(l) _(k+1) ^(k+1), . . . ,z_(l) _(k+N) ^(k+N)} to track T_(k)(l_(k)) and the corresponding zero one zero-one variable are given by

$\begin{matrix} {{c_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{T} = {{- {\ln\;\left\lbrack {L_{T_{k}{(l_{k})}}L_{i_{{k + 1}\;}\ldots\mspace{20mu} i_{k + J}}} \right\rbrack}} = {{- {\ln\left\lbrack \;{L_{T_{p,k}{(l_{k})}}L_{{i_{p + 1}{(l_{k})}}\mspace{14mu}\ldots\mspace{20mu}{i_{k}{(l_{k})}}i_{{k + 1}\;}\ldots\mspace{20mu} i_{k + J}}} \right\rbrack}}\mspace{14mu}{and}}}}{z_{l_{k}i_{k + 1}\mspace{11mu}\ldots\mspace{20mu} i_{k + J}}^{T} = \left\{ \begin{matrix} {1,} & {{{if}\mspace{14mu}\left\{ {z_{i_{k + 1}}^{k + 1},\ldots\mspace{14mu},z_{i_{k + N}}^{k + N}} \right\}\mspace{14mu}{is}\mspace{14mu}{assigned}\mspace{14mu}{to}\mspace{14mu}{track}\mspace{14mu}{T_{k}\left( l_{k} \right)}},} \\ {0,} & {{otherwise},} \end{matrix} \right.}} & {\left\lbrack \left\lbrack (4.11) \right\rbrack \right\rbrack(3.17)} \end{matrix}$ respectively. Likewise, for costs associated with the false reports on the frames k−I to k and as associated with {z_(i) _(k+1) ^(k+1), . . . ,z_(l) _(k+J) ^(k+J)} and the corresponding zero-one variable variables are given by:

$\begin{matrix} {{c_{i_{k - 1}\ldots\mspace{14mu} i_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{F} = {- {\ln\;\left\lbrack L_{i_{k - 1}\ldots\mspace{14mu} i_{k}i_{k + 1}\ldots\mspace{14mu} i_{j + J}} \right\rbrack}}}{z_{i_{k - 1}\ldots\mspace{14mu} i_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{F} = \left\{ \begin{matrix} {1,} & {\begin{matrix} {{{if}\mspace{14mu}\left\{ {z_{i_{k - I}},\ldots\mspace{14mu},z_{\;{i_{k}i_{k + 1}}},\ldots\mspace{14mu},z_{i_{k + J}}} \right\}}\mspace{11mu}} \\ {{{are}\mspace{14mu}{assigned}\mspace{14mu}{as}\mspace{14mu} a\mspace{14mu}{track}},} \end{matrix}\;} \\ {0,} & {{otherwise}.} \end{matrix} \right.}} & {\left\lbrack \left\lbrack (4.12) \right\rbrack \right\rbrack(3.18)} \end{matrix}$

For the window of frames in the range [k−I, . . . ,k] {k−I, . . . ,k}, the easiest explanation of the partition of the reports is based on the definitions

$\begin{matrix} {{T_{p,k} = \begin{Bmatrix} {i_{p}❘{z_{i_{p}}^{p}\mspace{14mu}{belongs}\mspace{14mu}{to}\mspace{14mu}{one}\mspace{14mu}{of}\mspace{14mu}{the}\mspace{14mu}{tracks}}} \\ {{{listed}\mspace{14mu}{on}\mspace{14mu}{frame}\mspace{14mu} k},{i.e.},{{to}\mspace{14mu}{one}}} \\ {{{{of}\mspace{11mu}{the}\mspace{14mu}{T_{k}\left( l_{k} \right)}\mspace{14mu}{for}\mspace{14mu}{some}\mspace{14mu} l_{k}} = 1},\ldots\mspace{14mu},l_{k}} \end{Bmatrix}},{F_{p,k} = {\left( {\left\{ {1,\ldots\mspace{14mu},M_{p}} \right\}\backslash T_{p,k}} \right)\bigcup\left\{ 0 \right\}}},} & {\left\lbrack \left\lbrack (4.13) \right\rbrack \right\rbrack(3.19)} \end{matrix}$ so that all of those reports not used in the tracks T_(k)(l_(k)) on frame p are put into the set of available reports F_(p,k) for the formation of tracks over the entire window. Thus, we formulate the assignment problem as

$\begin{matrix} \begin{matrix} {{{Minimize}{\mspace{14mu}}{\sum\limits_{p = {k - I}}^{k}{\sum\limits_{i_{p} \in F_{p,k}}\;{\sum\limits_{r = {k + 1}}^{k + J}\;{\sum\limits_{i_{r} = 0}^{M_{r}}\;{c_{i_{k - I}\ldots\mspace{14mu} i_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{F}z_{i_{k - I}\ldots\mspace{14mu} i_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{F}}}}}}} +} \\ {\sum\limits_{l_{k} = 0}^{L_{k}}{\sum\limits_{r = {k + 1}}^{k + J}\;{\sum\limits_{i_{r} = 0}^{M_{r}}{c_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{T}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{T}}}}} \\ {{{{Subject}\mspace{14mu}{To}{~~~}{\sum\limits_{\{{{p = {k - I}},{p \neq q}}\}}^{k}{\sum\limits_{i_{p} \in F_{p,k}}\;{\sum\limits_{r = {k + 1}}^{k + J}\;{\sum\limits_{i_{r} = 0}^{M_{r}}z_{l_{k - I}\ldots\mspace{14mu} i_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{F}}}}}} = 1},} \\ {{{{{for}\mspace{14mu} i_{q}} \in {{F_{p,k}\backslash\left\{ 0 \right\}}\mspace{14mu}{and}\mspace{14mu} q}} = {k - I}},\ldots\mspace{14mu},k,} \\ {{\sum\limits_{p = {k - I}}^{k}{\sum\limits_{i_{p} \in F_{p,k}}\;{\sum\limits_{\{{{r = {k + 1}},{r \neq q}}\}}^{k + J}\;{\sum\limits_{i_{q} = 0}^{M_{r}}z_{l_{k - I}\ldots\mspace{14mu} i_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{F}}}}} = 1} \\ {{{{for}\mspace{14mu} i_{q}} = 1},\ldots\mspace{14mu},{{M_{q}\mspace{14mu}{and}\mspace{14mu} q} = {k + 1}},\ldots\mspace{14mu},{k + J},} \\ {{z_{i_{k - I}\ldots\mspace{14mu} i_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{k - I}}},\ldots\mspace{14mu},{i_{k}i_{k + 1}},\ldots\mspace{14mu},i_{k + J},} \\ {{{\sum\limits_{r = {k + 1}}^{k + J}\;{\sum\limits_{i_{r} = 0}^{M_{r}}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{T}}} = 1},{l_{k} = 1},\ldots\mspace{14mu},L_{k},} \\ {{{\sum\limits_{l_{k} = 1}^{L_{k}}\;{\sum\limits_{\{{{r = {k + 1}},{r \neq q}}\}}^{k + J}\;{\sum\limits_{i_{r} = 0}^{M_{r}}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{T}}}} = 1},{i_{q} = 1},\ldots\mspace{14mu},M_{q}} \\ {{{{for}\mspace{14mu} q} = {k + 1}},\ldots\mspace{14mu},{k + J},} \\ {{z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}} \in {{\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} l_{k}} \geq 1}},i_{k + 1},\ldots\mspace{14mu},{i_{k + J}.}} \end{matrix} & (3.20) \end{matrix}$

Basic Assumptions. Suppose problem (4-14)(1.20) has been solved and let the solution, i.e., those zero-one variables equal to one, be

$\begin{matrix} \begin{matrix} {\left\{ z_{{l_{k}{(l_{k + 1})}}{i_{k + 1}{(l_{k + 1})}}\ldots\mspace{14mu}{i_{k + J}{(l_{k + 1})}}}^{T} \right\}_{l_{k + 1} = 1}^{{\overset{\sim}{L}}_{k + 1}},} \\ \left\{ z_{{i_{k - I}{(l_{k + 1})}}\ldots\mspace{14mu}{i_{k}{(l_{k + 1})}}{i_{k + 1}{(l_{k + 1})}}\ldots\mspace{14mu}{i_{k + J}{(l_{k + 1})}}}^{F} \right\}_{l_{k + 1} = {{\overset{\sim}{L}}_{k + 1} + 1}}^{L_{k + 1}} \end{matrix} & \left( \left\lbrack {\left\lbrack (4.15\rbrack \right\rbrack\; 3.21} \right) \right. \end{matrix}$ with the following exceptions.

a. All zero one zero-one variables in the second list for which (i_(k−1), . . . ,i_(k),i_(k+1))=(0, . . . , 0,0) are excluded. Thus, tracks that initiate on frames after the (k+1)^(th) are not included in the list.

b. All false reports axe are excluded, i.e., all zero-one variables in the second list whose subscripts have exactly one nonzero index.

c. All variables z_(l) _(k) _(l) _(k+1) _(. . . i) _(k+N) ^(T) for which (i_(k+1), . . . ,i_(K+N))=(0,0, . . . ,0) and z(p)∩T_(k)(l_(k))=0 for p=k−K, . . . ,k where K≧0 is user specified. Thus the track T_(k)(l_(k)) is terminated if it is not observed over K+J+1 frames.

Given the enumeration (4.15) (3.20), one now fixes the assignments on the all index sets up to and including the (k+1)^(th) index sets.

$\begin{matrix} {{T_{k + 1}\left( l_{k + 1} \right)} = \left\{ \begin{matrix} \left( {{T_{k}\left( {l_{k}\left( l_{k + 1} \right)} \right)},{z_{i_{k + 1}}^{k + 1}\left( l_{k + 1} \right)}} \right) \\ {{{{for}\mspace{14mu} l_{k + 1}} = 1},\ldots\mspace{14mu},{\overset{\sim}{L}}_{k_{1 + 1}},} \\ \left( {z_{i_{k - I}{(l_{k + 1})}}^{k - I},\ldots\mspace{14mu},z_{l_{k}{(l_{k + 1})}}^{k},z_{i_{k + 1}{(l_{k + 1})}}^{k + 1}} \right) \\ {{{{for}\mspace{14mu} l_{k + 1}} = {{\overset{\sim}{L}}_{k + 1} + 1}},\ldots\mspace{14mu},{L_{k + 1}.}} \end{matrix} \right.} & {\left\lbrack \left\lbrack (4.16) \right\rbrack \right\rbrack(3.22)} \end{matrix}$

Thus one can now formulate the assignment problem for the next problem exactly as in (4-14) (3.20) but with k replaced by k+1. Thus, we do not repeat it here.

The Initial Step. Here is one explanation for the initial step. First, assume that N=I+J. In this case, we start the track initiation with a solution of (3.5). Let {i₁(l₂),l₂(l₂) . . . i_(N)(l₂),i_(N+1)(l₂)}_(l) ₂ ^(L) ² =0 be an enumeration of the solution set of (3.5), i.e., those zero-one variables z_(i) ₁ _((l) ₂ _()i) ₂ _((l) ₂ _() . . . i) _(N+1) _((l) ₂ ₎=1, including z_(OO . . . O)=1 corresponding to l₂=0, but excluding all those zero-one variables that are assigned to one and correspond to false reports (i.e.. there is exactly one nonzero index in the subscript of z_(i) ₁ _(i) ₂ _(. . . i) _(N+1) ), all those zero-one variables that are assigned to one and correspond to tracks that initiate on frames higher than I+2. Then we fix the data association decisions corresponding to the reports in our list of tracks prior to and including frame k+1=I+2. This defines the k for problem (4.4) and one can then continue the development by adding a frame to the window as in the general case.

If I+J>N, then one possibility is to start the process with N+1 frames, and assuming J≦N, proceed as before replacing I by N−J for the moment, and continue to add frames without lopping off the first frame in the window until reaches a window of length I+J+1. Then we proceed as in the previous paragraph.

If I+J<N, then one can solve the track initiation problem (3.5), formulate the problem with the center of the window at k+1=N+1−J, enumerate the solutions as above, and lop off the first N−J−I frames. Then, we proceed just as in the case I+J=N.

A primary objective in this work has been to demonstrate how multidimensional assignment problems arise in the tracking environment. The problem of track initiation and maintenance has been formulated within the framework of a moving window over the frames of data. The solution of these NP-hard, noisy, large scale, and sparse problems to the noise level in the problem is fundamental to superior track estimation and identification. Thus, one must utilize the special structure in the problems as well take advantage of special information that is available. Since these moving windows are overlapping, there are some algorithm efficiencies that can be identified and that take advantages of the overlap in the windows from one frame of reports to the next. Here is an example of the use of a primal solution of one problem to warm start the solution of the next problem in the sequence.

III.5. CONCLUDING COMMENTS

Suppose we have solved problem (4.4) (3.10) and have enumerated all those zero-one variables in the solution of (4.4) (3.10) as in (4.5) (3.11). Add the zero index l_(k+1)=0, so that the enumeration is {(l_(k)(l_(k+1)),i_(k+1)(l_(k+1)), . . . ,i_(k+N)(l_(k+1)))}  (5.1) (3.23) With this enumeration one can define the cost by c_(l) _(k+1) _(J) _(k+1+N) =c_(i) _(k) _((i) _(k+1) _(),j) _(k+1) _((l) _(k+1) _(), . . . , i) _(N+1) _((j) _(k+1) _()i) _(k+1+N)   (5.2) (3.24) and the two dimensional two-dimensional assignment problem

$\begin{matrix} \begin{matrix} {\Phi_{2} \equiv {{Minimize}{~~~}{\sum\limits_{l_{k + 1} = 0}^{L_{k + 1}}\;{\sum\limits_{i_{k + 1 + N} = 0}^{M_{k + 1 + N}}\;{c_{l_{k + 1}i_{k + 1 + N}}^{2}z_{l_{k + 1}i_{k + 1 + N}}^{2}}}}} \equiv {V_{2}\left( z^{2} \right)}} \\ {{{{Subject}\mspace{14mu}{to}{~~~}{\sum\limits_{i_{k + 1 + N} = 0}^{M_{k + 1 + N}}z_{l_{k + 1}i_{k + 1 + N}}^{2}}} = 1},{l_{k + 1} = 1},\ldots\mspace{14mu},L_{k + 1},} \\ {{{\sum\limits_{l_{k + 1} = 0}^{L_{k + 1}}z_{l_{k + 1}i_{k + 1 + N}}^{2}} = 1},{i_{k + 1 + N} = 1},\ldots\mspace{14mu},M_{k + 1 + N},} \\ {{z_{l_{k + 1}i_{k + 1 + N}}^{2} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} l_{k + 1}}},{i_{k + 1 + N}.}} \end{matrix} & {\left\lbrack \left\lbrack (5.3) \right\rbrack \right\rbrack(3.25)} \end{matrix}$ Let w be an optimal or feasible solution of two two-dimensional assignment problem and define

$\begin{matrix} {{\hat{z}}_{i_{k + 1}\ldots\mspace{14mu} i_{k + N}i_{k + 1 + N}} = \left\{ \begin{matrix} {1,} & {{{if}\mspace{14mu}\left( {i_{k + 1},\ldots\mspace{14mu},i_{k + N}} \right)} = \;\left( {{i_{k + 1}\left( l_{k + 1} \right)},\ldots\mspace{14mu},{i_{k + N}\left( l_{k + 1} \right)}} \right)} \\ \; & {{{{and}\mspace{14mu} w_{l_{k + 1}i_{k + 1 + N}}} = {{1\mspace{14mu}{for}\mspace{14mu}{some}\mspace{14mu} l_{k + 1}} = 1}},\ldots\mspace{14mu},L_{k + 1}} \\ \; & {{{or}\mspace{14mu}{if}\mspace{14mu}\left( {l_{k + 1},i_{k + 1 + N}} \right)} = \left( {0,0} \right)} \\ {0,} & {{otherwise}.} \end{matrix} \right.} & {\left\lbrack \left\lbrack (5.4) \right\rbrack \right\rbrack(3.26)} \end{matrix}$ This need not satisfy the constraints in that there are usually many objects left unassigned. Thus. one can complete the assignment by using the zero-one variables in (4.4) (3.10) with k replaced by k+1 with exactly one nonzero index corresponding to any unassigned object or data report.

For the dual solutions, the multipliers arising from the solution of the two dimensional two-dimensional assignment problem (5.3) (3.25) corresponding to the second variable, i.e., {u_(l) _(k+1+N) ^(k+1+N)}_(l) _(k+1+N) ^(M) ^(k+1+N) =0. These are good initial values for to use in a relaxation scheme [11.12] (A. B. Poore and N. Rijavec. Partitioning multiple data sets: multidimensional assignments and Lagrangian relaxation, in quadratic assignment and related problems; P. M. Pardalos and H. Wolkowicz, editors, DIMACS series in Discrete Mathematics and Theoretical Computer Science, 16:25-37, 1994; A. J. Robertson III. A class of lagrangian relaxation algorithms for the multidimensional assignment problem. Ph.D. Thesis, Colorado State University, Ft. Collins, Colo., 1995). Finally, note that one can also develop a warm start for problem (4.14) (3.20) in a similar fashion.

IV. REVIEW OF NEW RELAXATION SCHEMES

IV.1. Introduction

Multidimensional assignment problems govern the central problem of data association in multisensor and multitarget tracking. i.e., the problem of partitioning observations from multiple scans of the surveillance region and from either single or multiple sensors into tracks and false alarms. This fundamental problem can be stated as (A. B. Poore, Multidimensional assignments and multitarget tracking, partitioning data sets, I. J. Cox, P. Hansen, and B. Julesz, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, R.I., 19:169-198, 1995; A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994)

$\begin{matrix} \begin{matrix} {{Minimize}{\mspace{14mu}}{\sum\limits_{i_{1} = 0}^{M_{1}}{\ldots\;{\sum\limits_{i_{N} = 0}^{M_{N}}\;{c_{i_{1}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}}}}}} \\ {{{{Subject}\mspace{14mu}{to}\text{:}{~~~}{\sum\limits_{i_{2} = 0}^{M_{2}}{\ldots\;{\sum\limits_{i_{N} = 0}^{M_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}}}}} = 1},{i_{1} = 1},\ldots\mspace{14mu},M_{1},} \\ {{\sum\limits_{i_{1} = 0}^{M_{1}}{\ldots\;{\sum\limits_{i_{p - 1} = 0}^{M_{p - 1}}{\sum\limits_{i_{p + 1} = 0}^{M_{p + 1}}{\ldots\;{\sum\limits_{i_{N} = 0}^{M_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}}}}}}} = 1} \\ {{{{for}\mspace{14mu} i_{p}} = 1},\ldots\mspace{14mu},{{M_{p}\mspace{14mu}{and}\mspace{14mu} p} = 2},\ldots\mspace{14mu},{N - 1},} \\ {{{\sum\limits_{i_{1} = 0}^{M_{1}}{\ldots{\sum\limits_{i_{n - 1} = 0}^{M_{N - 1}}z_{i_{1}\ldots\mspace{14mu} i_{N}}}}} = 1},{i_{N} = 1},\ldots\mspace{14mu},M_{N},} \\ {{z_{i_{1}\ldots\mspace{14mu} i_{N}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}}},\ldots\mspace{14mu},i_{N},} \\ {\left\lbrack \left\lbrack {{{{for}\mspace{14mu} i_{k}} = 1},\ldots\mspace{14mu},{{M_{k}\mspace{14mu}{and}\mspace{14mu} k} = 2},\ldots\mspace{14mu},N,} \right. \right.} \\ \left. \left. {{{{zi}_{1}\ldots\mspace{14mu} 1_{N + 1}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}}},\ldots\mspace{14mu},i_{N + 1}} \right\rbrack \right\rbrack \end{matrix} & {\left\lbrack \left\lbrack (1.1) \right\rbrack \right\rbrack(4.1)} \end{matrix}$

where c_(o . . . o) is arbitrarily defined to be zero and is included for notational convenience. One can modify this formulation to include multiassignments multi-assignments of one, some, or all of the actual reports. The zero index is used in representing missing data, false alarms, initiating and terminating tracks as described in (A. B. Poore, Multidimensional assignments and multitarget tracking, partitioning data sets, I. J. Cox, P. Hansen, and B. Julesz, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, R.I., 19:169-198, 1995; A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994). In these problems, we assume that all zero-one variables z_(i) ₁ _(. . .) i_(N) with precisely one nonzero index are free to be assigned and that the corresponding cost coefficients are well-defined. (This is a valid assumption in the tracking environment (A. B. Poore, Multidimensional assignments and multitarget tracking, partitioning data sets, I. J. Cox, P. Hansen, and B. Julesz, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, R.I., 19:169-198, 1995; A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994).) Although not required, these cost coefficients with exactly one nonzero index can be translated to zero by cost shifting (A. B. Poore and N. Rijavec. A lagrangian relaxation algorithm for multidimensional assignment problems arising from multitarget tracking. SIAM Journal of Optimization, 3, No. 3:544-563, 1993) without changing the optimal assignment. Finally, this formulation is of sufficient generality to include the symmetric problem and the asymmetric inequality problem (A. J. Robertson III. A class of lagrangian algorithms for the multidimensional assignment problem. Ph.D. Thesis, Colorado State University, Ft. Collins, Colo. 1995).

The data association problems in tracking that are formulated as (1.1) Equation (4.1) have several characteristics. They are normally sparse, the cost coefficients are noisy and the problem is NP-hard (M. R. Galey and D. S. Johnson. Computers and Intractability. W. H. Freeman and Company, San Francisco, Calif., 1979), but it must be solved in real-time. The only known methods for solving this NP-hard problem optimally are enumerative in nature, with branch-and-bound being the most efficient; however, such methods are much too slow for real-time applications. Thus one must resort to suboptimal approaches. Ideally, any such algorithm should solve the problem to within the noise level, assuming, of course, that one can measure this noise level in the physical problem and that the mathematical method provides a way to decide if the criterion has been met.

There are many algorithms that can be used to construct suboptimal solutions to NP-hard combinatorial optimization problems. These include greedy (and its many variants), relaxation, simulated annealing, tabu search, genetic algorithms, and neural netork algorithms (C. H. Papadimitriou and K. Steiglitz. Combinatorial Optimization: Algorithm and Complexity. Prentice-Hall, Inc., Englewood Cliffs, N.J., 1982; J. Pearl. Heuristics: Intelligent Search Strategies for Computer Problem Solving. Addison-Wesley, Reading, Mass., 1984; C. R. Reeves ed. Modern Heuristic Techniques for Combinatorial Problems. Halstead Press, Wiley, N.Y., 1993). For the three dimensional three-dimensional assignment problem. Pierskalla (W. Pierskalla. The tri-substitution for three-dimensional assignment problem. Journal du CORS, 5:71-81, 1967) developed the tri-substitution method. which is a variant of the simplex method. Frieze and Yadegar (A. M. Frieze and J. Yadegar, An algorithm for solving 3-dimensional assignment problems with application to scheduling a teaching practice. Journal of the Operational Research Society, 39:989-955, 1981)introduced a method based on Lagrangian relaxation in which a feasible solution is recovered using information provided by the relaxed solution. Our choice of approaches is strongly influenced by the need to balance real-time performance and solution quality. Lagrangian relaxation based methods have been used successfully in prior tracking applications (K. R. Pattipati, S. Deb, and Y. Bar-Shalom. A s-dimensional assignment algorithm for track initiation. In Proceedings of the IEEE Systems Conference, Kobe, Japan, pages 127-130, 1992; Y. Bar-Shalom, S. Deb, K. R. Pattipati, and H. Tsanakis. A new algorithm for the generalized multidimensional assignment problem. In Proceedings of the IEEE International Conference on Systems, Math, and Cybernetics, Chicago, pages 132-136, 1992; A. B. Poore and N. Rijavec. A numerical study of some data association problems arising in multitarget tracking. Large Scale Optimization: State of the Art, W. W. Hager, D. W. Hearn and P. M. Pardalos, editors. Kluwer Academic Publishers B.V., Boston, pages 339-361, 1994; A. B. Poore and N.Rijavec. Partitioning multiple data sets: multidimensional assignments and lagrangian relaxation. In P. M. Pardalos and H. Wolkowicz, editors, Quadratic assignment and related problems: DIMACS Series in Discrete Mathematics and Theoretical Computer Science, volume 16, pages 25-37, 1994; A. B. Poore and N. Rijavec. A lagrangian relaxation algorithm for multidimensional assignment problems from multitarget tracking. SIAM Journal of Optimization,3, No. 3:544-563, 1993). An advantage of these methods is that they provide both an upper and lower bound on the optimal solution, which can then be used to measure the solution quality. These works extend the method of Frieze and Yadegar (A. M. Frieze and J. Yadegar. An algorithm for solving 3-dimensional assignment problems with application to scheduling a teaching practice. Journal of the Operational Research Society, 32:989-995, 1981) to the multidimensional case.

IV.2. Probabilistic Framework for Data Association. (ABP)

The goal of this section is to explain the formulation of the data association problems that governs large classes of data association problems in centralized or hybrid centralized-sensor level multisensor/multitarget tracking. The presentation is brief; technical details are presented for both track initiation and maintenance in the work of Poore (A. B. Poore. Multidimensional assignments and multitarget tracking, partitioning data sets, I. J. Cox, P. Hansen, and B. Julesz, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, R.I., 19:169-198, 1995; A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994). The formulation is of sufficient generality to cover the MHT work of Reid, Blackman and Stein (S. S. Blackman. Multiple Target Tracking with Radar Applications. Artech. House, Norwood, Mass., 1986) and modifications by Kurien (T.Kurien. Issues in the designing of practical multitarget tracking algorithms. In Multitarget-Multisensor Tracking: Advanced Applications by Y. Bar-Shalom. Artech House, Mass., 1990) to include maneuvering targets. As suggested by Blackman (S. S. Blackman, Multiple Target Tracking with Radar Applications, Artech House, Norwood, Mass., 1986), this formulation can also be modified to include target features (e.g., size and type) into the scoring function. The recent work of Poore and Drummond (A. B. Poore and O. E. Drummond. Track initiation and maintenance using multidimensional assignment problems. In D. W. Hearn, W. W. Hager, and P. M. Pardalos, editors, Network Optimization, volume 450, pages 407-422, Boston, 1996. Kluwer Academic Publishers B.V.) significantly extends the work of this section to new approaches for multiple sensor centralized tracking. Future work will involve extensions to track-to-track correlation.

The data association problems for multisensor and multitarget tracking considered in this work are generally posed as that of maximizing the posterior probability of the surveillance region (given the data) according to Maximize ΔP(Γ=γ|Z^(N))|γΓ*}  (2.1) (4.2) where Z^(N) represents N data sets. γ is a partition of indices of the data (and thus induces a partition of the data). Γδ

$\begin{matrix} \left\lbrack \lbrack \right. & \; & \; & \; & \; & \; & \; & \; & \Gamma & \; \\ \; & \; & \; & \; & \; & {\Gamma\;\delta} & \; & \; & \Upsilon^{0} & {\rbrack\rbrack} \end{matrix}$ P(Γ γ|Z^(N)) Γ* is the finite collection of all such partitions, Γ is a discrete random element defined on Γ*, and P(Γ=γ|Z^(N)) is the posterior probability of a partition γ being true given the data Z^(N). The term partition is defined below; however, this framework is currently sufficiently general to cover set packings and coverings (A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994; A. B. Poore. Multidimensional assignments and multitarget tracking, partitioning data sets, I. J. cox, P. Hansen, and B. Julesz, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, R.I., 19:169-198, 1995).

Consider N data sets Z(k) (k=I, . . . ,N) each of M_(k) reports {z_(i) _(k) ^(k)}_(i) _(k) ^(M) _(k) =1, and let Z^(N) denote the cumulative data set defined by Z(k)={z_(i) _(k) ^(k)}_(i) _(k) ^(Mk)=1 and Z^(N)={Z(1), . . . ,Z(N)}  (2.2) (4.3) respectively. In multisensor data fusion and multitarget tracking the data sets Z(k) may represent different classes of objects, and each data set can arise from different sensors. For track initiation the objects are measurements that must be partitioned into tracks and false alarms. In our formulation of track maintenance (A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994; A. B. Poore. Multidimensional assignments and multitarget tracking, partitioning data sets, I. J. cox, P. Hansen, and B. Julesz, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, R.I., 19:169-198, 1995), which uses a moving window over time, one data set will be tracks and remaining data sets will be measurements which are assigned to existing tracks, as false measurements, or to initiating tracks. In sensor level tracking, the objects to be fused are tracks (S. S. Blackman. Multiple Target Tracking with Radar Applications. Artech House, Norwood, Mass., 1986). In centralized fusion (S. S. Blackman. Multiple Target Tracking with Radar Applications. Artec House, Norwood, Mass., 1986), the objects may all be measurements that represent targets or false reports, and the problem is to determine which measurements emanate from a common source.

We specialize the problem to the case of set partitioning (A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994; A. B. Poore. Multidimensional assignments and multitarget tracking, partitioning data sets, I. J. Cox, P. Hansen, and B. Julesz, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, R.I., 19:169-198, 1995) defined in the following way. First, for notational convenience in representing tracks, we add a zero index to each of the index sets in (2.2) Equation (4.3), a dummy report z_(o) ^(k) to each of the data sets Z(k) in (2.2) Equation (4.3), and define a “track of data” as (z_(i) _(j) ¹,z_(i) _(N) ^(N)) where i_(k) and z_(i) _(i) ^(k) can now assume the values value of 0 and z_(O) ^(k) respectively. A partition of the data will refer to a collection of tracks of data wherein each report occurs exactly once in one of the tracks of data and such that all data is used up; the occurrence of dummy report is unrestricted. The dummy report z_(o) ^(k) serves several purposes in the representation of missing data, false reports, initiating tracks, and terminating tracks (A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994; A. B. Poore. Multidimensional assignments and multitarget tracking, partitioning data sets, I. J. cox, P. Hansen, and B. Julesz, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, R.I., 19:169-198, 1995). The reference partition is that in which all reports are declared to be false.

Next under appropriate independence assumptions one can show (A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994; A. B. Poore. Multidimensional assignments and multitarget tracking, partitioning data sets, I. J. cox, P. Hansen, and B. Julesz, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, R.I., 19:169-198, 1995).

$\begin{matrix} {{\frac{P\left( {\Gamma = {\Upsilon ❘Z^{N}}} \right)}{P\left( {\Gamma = {\Upsilon^{0}❘Z^{N}}} \right)} \equiv L_{\Upsilon} \equiv {\prod\limits_{{({i_{1}\ldots\mspace{14mu} i_{N}})} \in \;\Upsilon}\; L_{i_{1}\ldots\mspace{14mu} i_{N}}}},} & \left( {\left\lbrack \lbrack 2.3\rbrack \right\rbrack 4.4} \right) \end{matrix}$ where γ⁰ is a reference partition, L_(i) ₁ _(. . . i) _(N) is a likelihood ratio containing probabilities for detection, maneuvers, and termination as well as probability density functions for measurement errors, track initiation and termination. Then if c_(i) ₁ _(. . . i) _(N) =−1nL_(i) ₁ _(. . . i) _(N) ,

$\begin{matrix} {{{- \ln}\left\lfloor \frac{P\left( {\Gamma = {\Upsilon ❘Z^{N}}} \right)}{P\left( {\Gamma = {\Upsilon^{0}❘Z^{N}}} \right)} \right\rfloor} = {\sum\limits_{{({i_{1}\ldots\mspace{14mu} i_{N}})} \in \;\Upsilon}\;{c_{i_{1}\ldots\mspace{14mu} i_{N}}.}}} & \left. {\left. \left. {\left( \left\lbrack \lbrack \right. \right.2.4\;} \right\rbrack \right\rbrack 4.5} \right) \end{matrix}$ Using (2.3) Equation (4.4) and the zero-one variable z_(i) ₁ _(. . . i) _(N) =1 (if i₁, . . . , i_(N))εγ and 0 otherwise, one can then write the problem (2.1) (4.4) as the following N-dimensional assignment problem:

$\begin{matrix} \begin{matrix} {{Minimize}{\mspace{14mu}}{\sum\limits_{i_{1}\ldots\mspace{14mu} i_{N}}\;{c_{i_{1}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}}}} \\ {{{{Subject}\mspace{14mu}{To}{~~~}{\sum\limits_{i_{2}i_{3}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}}} = {1\mspace{14mu}\left( {{i_{1} = 1},\ldots\mspace{14mu},M_{1}} \right)}},} \\ {{{\sum\limits_{i_{1}i_{3}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}} = {1\mspace{14mu}\left( {{i_{2} = 1},\ldots\mspace{14mu},M_{2}} \right)}},} \\ {{\sum\limits_{i_{1}\ldots\mspace{14mu} i_{p - 1}i_{p + 1}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}} = 1} \\ {\left( {{i_{p} = 1},\ldots\mspace{14mu},{{M_{p}\mspace{14mu}{and}\mspace{14mu} p} = 2},\ldots\mspace{14mu},{N - 1}} \right),} \\ {{{\sum\limits_{i_{1}i_{2}\ldots\mspace{14mu} i_{N - 1}}z_{i_{1}\ldots\mspace{14mu} i_{N}}} = {1\mspace{14mu}\left( {{i_{N} = 1},\ldots\mspace{14mu},M_{N}} \right)}},} \\ {{z_{i_{1}\ldots\mspace{14mu} i_{N}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{N}}},\ldots\mspace{14mu},i_{N},} \end{matrix} & {\left. \left. {\left\lbrack \lbrack \right.(2.5)} \right\rbrack \right\rbrack(4.6)} \end{matrix}$

where c_(o . . . o) is arbitrarily defined to be zero. Here, each group of sums in the constraints represents the fact that each-non-dummy report occurs exactly once in a “track of data.” One can modify this formulation to include multiassignments multi-assignments of one, some, or all the actual reports. The assignment problem (2.5) Equation (4.6) is changed accordingly. For example, if z_(i) _(k) ^(k) is to be assigned no more than, exactly, or no less than n_(i) _(k) ^(k) times, then the “=1” in the constraint (2.5) (4.6) is changed to ≦, =, ≧n_(i) _(k) ^(k),” respectively. Modifications for group tracking and multiresolution features of the surveillance region will be addressed in future work. In making these changes, one must pay careful attention to the independence assumptions that need not be valid in many applications.

Expressions for the likelihood ratios L_(i) ₁ _(, . . . ,l) _(N) , can be found in the work of Poore (A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994; A. B. Poore. Multidimensional assignments and multitarget tracking, partitioning data sets, I. J. cox, P. Hansen, and B. Julesz, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, R.I., 19:169-198, 1995). These expressions include the developments of Reid, Kurien (T. Kurien, Issues in the designing of practical multitarget tracking algorithms. In Multitarget-Multisensor Tracking: Advanced Applications by Y. Bar-Shalom. Artech House, Mass., 1990), and Stein and Blackman (S. S. Blackman. Multiple Target Tracking with Radar Applications. Artech House, Norwood, Mass., 1986). What's more, they are easily modified to include target features and to account for different sensor types. In track initiation, the N data sets all represent reports from N sensors, possibly all the same. For track maintenance, we use a sliding window of N data sets and one data set containing established tracks. (A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994; A. B. Poore. Multidimensional assignments and multitarget tracking, partitioning data sets, I. J. cox, P. Hansen, and B. Julesz, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, R.I., 19:169-198, 1995). The formulation is the same as above except that the dimension of the assignment problem is now N+1. @@@

To explain the costs for the new problem, one starts with the hypothesis that a partition γεΓ* conditioned on the truth of the pairings on the first two frames being correct. Corresponding to the sequence {T₂(l₂), z_(i) ₃ , . . . z_(j) _(N+2) }, the likelihood function is then given by

${{\left\lbrack \left\lbrack \quad \right.\quad \right.\Gamma\;\gamma} \equiv {\prod\limits_{{\{{{T_{2}{(l_{2})}},z_{i_{3}},\ldots\mspace{14mu},z_{i_{N + 2}}}\}} \in \gamma}\;{L_{l_{2}i_{3}\ldots\mspace{14mu} i_{N + 2}}\mspace{14mu}{where}L_{l_{2}i_{3}\ldots\mspace{14mu} i_{N + 2}}}} \equiv L_{T_{2}{(l_{2})}}},z_{i_{3}},\ldots\mspace{14mu},{z_{i_{N + 2}} = {L_{T_{2}{(l_{2})}}L_{z_{i_{3}}}}},{\ldots\mspace{14mu} z_{i_{N + 2}}},{L_{T_{2}} = {1.\mspace{560mu}\left. \quad\left. \quad\mspace{11mu} \right\rbrack \right\rbrack}}$

Next, define the coset and the corresponding zero-one variable

$\begin{matrix} {{{\left\lbrack \left\lbrack \quad \right.\quad \right.C_{l_{2}i_{2}\ldots\mspace{14mu} i_{N + 2}}} = {- {\ln L}_{l_{2}i_{3}\ldots\mspace{14mu} i_{N + 2}}}},{z_{l_{2}i_{3}\ldots\mspace{14mu} i_{N + 2}} = \left\{ \begin{matrix} 1 & {{if}\mspace{14mu}\left\{ {z_{i_{3}}^{3},{\ldots\mspace{14mu} z_{i_{N + 2}}^{N + 2}}} \right\}\mspace{14mu}{is}} \\ \; & {{{assigned}\mspace{14mu}{to}\mspace{14mu}{Track}\mspace{14mu}{T_{2}\left( l_{2} \right)}},} \\ 0 & {{otherwise}{\left. \left. \mspace{169mu} \right\rbrack \right\rbrack\;}} \end{matrix} \right.}} & \left( {4.2b} \right) \end{matrix}$ respectively. Then the track maintenance problem Maximize {Lγ|γεΓ* assignment

$\begin{matrix} {\left\lbrack \left\lbrack \quad \right.\quad \right.{Minimize}{~~~~~}{\sum\limits_{i_{2} = 0}^{L_{2}}{\sum\limits_{i_{3} = 0}^{M_{3}}{\ldots{\sum\limits_{i_{N + 2} = 0}^{M_{N + 2}}\;{c_{{l_{2}i_{3}\ldots\mspace{14mu} i_{N}} + 2}z_{l_{2}i_{3}\ldots\mspace{14mu} i_{N + 2}}}}}}}} \\ {{{{Subject}\mspace{14mu}{to}\text{:}{\mspace{14mu}{~~}}{\sum\limits_{i_{3} = 0}^{M_{3}}{\ldots{\sum\limits_{i_{N + 2} = 0}^{M_{N + 2}}\; z_{l_{2}i_{3}\ldots\mspace{14mu} i_{N + 2}}}}}} = 1},{l_{2} = 1},l_{2},\ldots\mspace{14mu},L_{2},} \\ {{{\sum\limits_{i_{2} = 0}^{L_{2}}{\sum\limits_{i_{4} = 0}^{M_{4} = 0}{\ldots{\sum\limits_{i_{N + 2} = 0}^{M_{N + 2} = 0}\; z_{l_{3}i_{3}\ldots\mspace{14mu} i_{N + 2}}}}}} = 1},{i_{3} = 1},\ldots\mspace{14mu},M_{3},} \\ {{\sum\limits_{i_{2} = 0}^{L_{2}}{\sum\limits_{i_{3} = 0}^{M_{3}}{\ldots{\sum\limits_{i_{p - 1} = 0}^{M_{p - 1}}{\sum\limits_{i_{p + 1} = 0}^{M_{p + 1}}{\ldots\sum\limits_{i_{N + 2} = 0}^{M_{N + 2}}}}}}}} = {z_{l_{2}i_{3}\ldots\mspace{14mu} i_{N + 2}}1}} \\ {{{{for}\mspace{14mu} i_{k}} = 1},\ldots\mspace{14mu},{{M_{k}\mspace{14mu}{and}\mspace{14mu} k} = 2},{\ldots\mspace{14mu} N},} \\ {{{\sum\limits_{i_{1} = 0}^{M_{1}}{\ldots{\sum\limits_{i_{N + 1 - 1} = 0}^{M_{N}}\; z_{i_{1}\ldots\mspace{14mu} i_{N + 1}}}}} = 1},{i_{N + 1} = 1},\ldots\mspace{14mu},M_{N + 1}} \\ \left. \left. {{{z_{{i_{1}\ldots}\mspace{14mu}}1_{N + 1}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}}},\ldots\mspace{14mu},i_{N + 1}}\mspace{130mu} \right\rbrack \right\rbrack \end{matrix}$

Track Maintence and Initiation: Step k. At the beginning of the k^(th) step. we solve the following (N+1)-dimensional assignment problem.

$\begin{matrix} \begin{matrix} {\left\lbrack \left\lbrack \quad \right.\quad \right.{Minimize}{~~~}{\sum\limits_{l_{k} = 0}^{L_{k}}\;{\sum\limits_{i_{k + 1} = 0}^{M_{k + 1}}{\ldots{\sum\limits_{i_{k + N} = 0}^{M_{k + N}}{c_{l_{{ki}_{k + 1}}\ldots\mspace{14mu} i_{k + N}}z_{l_{{ki}_{k + 1}}\ldots\mspace{14mu} i_{k + N}}}}}}}} \\ {{{{Subject}\mspace{14mu}{to}\text{:}{\mspace{14mu}}{\sum\limits_{i_{k + 1} = 0}^{M_{k + 1}}{\ldots{\sum\limits_{i_{k + N} = 0}^{M_{k + N}}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + N}}}}}} = 1},{l_{k} = 1},\ldots\mspace{14mu},L_{k},} \\ {{{\sum\limits_{l_{k} = 0}^{L_{k}}\;{\sum\limits_{i_{k + 2} = 0}^{M_{k + 2}}{\ldots{\sum\limits_{i_{k + N} = 0}^{M_{k + N}}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + N}}}}}} = 1},} \\ {{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{i_{k + 1} = 1},{\ldots\mspace{14mu} M_{k + 1}},}} \\ {{{\sum\limits_{l_{k} = 0}^{L_{k}}\;{\sum\limits_{i_{k + 1} = 0}^{M_{k + 1}}{\ldots{\sum\limits_{i_{p - 1} = 0}^{M_{p - 1}}\;{\sum\limits_{i_{p + 1} = 0}^{M_{p + 1}}{\ldots{\sum\limits_{i_{k + N} = 0}^{M_{k + N}}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + N}}}}}}}}} = 1},} \\ {{{{for}\mspace{20mu} i_{p}} = 1},\ldots\mspace{14mu},{{M_{p}\mspace{14mu}{and}\mspace{14mu} p} = {k + 2}},\ldots\mspace{14mu},N,{{+ k} + 1},} \\ {{{\sum\limits_{l_{k} = 0}^{L_{k}}\;{\sum\limits_{i_{k + 1} = 0}^{M_{k + 1}}{\ldots{\sum\limits_{i_{k + 1 + N - 2} = 0}^{M_{k + 1 + N - 2}}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + N}}}}}} = 1},} \\ {{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{i_{k + N} = 1},{\ldots\mspace{14mu} M_{k + N}},}} \\ \left. \left. {{z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + N}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} l_{k}}},i_{k + 1},\ldots\mspace{14mu},i_{k + N}}{\mspace{50mu}\;} \right\rbrack \right\rbrack \end{matrix} & (4.4) \end{matrix}$ where for the first step l₁ and L₁ are replaced by i₁ and M₁, respectively. The first index l_(k) in the subscripts corresponds to the sequence of tracks {T_(k)(l_(k))}_(l) _(k) ^(L) ^(k) =0 where T_(k)(l_(k))={z_(i) ₁ ¹(l_(k)), . . . ,z_(i) _(k) ^(k)(l_(k))} is a track of data from the solution of the problem prior to the formulation of (4.4) or if k=1 then it is just the first data set in frame one.

Suppose problem (4.4) has been solved and let the solution, i.e., those zero-one variables equal to one, be enumerated by {(l_(k)(l_(k+1)),i_(k+1)(l_(k+1)), . . . ,i_(k+N)(l_(k+1)))}_(l) _(k+1) ^(Lk+1)=1   (4.5) with the following exceptions.

a. All zero one variables for which (l_(k),l_(k+1))=(0,0) are excluded. Thus, tracks that initiate on frames after the (k+1)^(th) are not included in the list.

b. All zero-one variables whose subscripts have the form l_(k)=3 and exactly one nonzero index in the remaining indices {i_(k+1), . . . ,i_(k+N)} are excluded. These correspond to false reports on frames p=k+1, . . . ,k+N.

c. All variables Z_(l) _(k) _(i) _(k) _(+l . . . ik+)N) for which (ik+1, . . . , ik+N)=(0,0, . . . ,0) and i_(k)(I_(k))=0 in (4.5). In other words, the reports on the last N+1 frames in the {T_(k)(l_(k)), z_(i) _(k+N) ^(k+1)} are all dummy. Any solution with this feature corresponds to a terminated track.

Given the enumeration (4.5), one now fixes the assignments on the first two index sets in the list (4.5). The zero index l_(k+1)=0 is added to the enumeration to specify (l_(k)(0),i_(k+1)(0))=(0,0) that is used to represent false reports and tracks that initiate on frame k+2 or later, so that the enumeration (4.5) is now {(l_(k)(l_(k+1)),i_(k+1)(l_(k+1)))}_(l) _(k+1) ^(Lk+1)=0   (4.6)

Then, for l_(k+1)=1, . . . ,L_(k+1), the l_(k+1) ^(th) such track is denoted by T_(k+1)(l_(k+1)={T_(k)(l_(k)(l_(k+1))),z_(i) _(k+1 k) ^(k+1)}, and the (N+1)-tuple {T_(k+1)(l_(k+1)),z_(i) _(k+2) ^(k+1), . . . ,z_(l) _(k+1+N) ^(k+1+N)} will denote a track T_(k+1)(I_(k+1)) plus a set of reports {_(l) _(k+2) ^(k+2), . . . ,z_(i) _(k+1+N) ^(k+1+N)}, actual or dummy. that are feasible with the track T_(k+1)(l_(k+1)). The (N+1)-tuple {T_(k+1)(0), z_(l) _(k+2) ^(k+2), . . . ,z_(i) _(k+1+N) ^(k+1+N)}, will denote a track that initiates in ²the sliding window, i.e., on subsequent frames. A false report in the sliding window is one with all but one non-zero index i_(P) for some p=k+2, . . . , k+1+N in the (N+1)-tuple {T_(k+1)(0), z_(l) _(k+2) ^(k+2), . . . ,z_(l) _(k+1+N) ^(k+i+N)}.

The corresponding hypothesis about a partition γεΓ* being true is now conditioned on the truth of the L_(k+1) tracks existing at the beginning of the N-frame window. (Thus the assignments prior to this sliding window are fixed.) The likelihood function is given by

$\begin{matrix} {{{{\left\lbrack \left\lbrack \quad \right.\quad \right.L\;\gamma} = {\prod\limits_{T_{k_{1}{(l_{k + 1})}},z_{i_{k + 2}},\ldots\mspace{14mu},z_{i_{k + 1 + N} \in \gamma}}\; L_{l_{h + 1}i_{h + 1 + N}}}},{{where}{{L_{l_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{k + 1 + N}} = L_{T_{k + 1}{(l_{k + 1})}}},L_{z_{i_{k + 2}}^{k + 2}},\ldots\mspace{14mu},L_{z_{i_{k + 1 + N}}^{k + 1 + N}}}}}{L_{T_{k + 1}{(0)}} = {1.\mspace{405mu}\left. \quad\left. \quad\mspace{25mu} \right\rbrack \right\rbrack}}} & \left( {4.7a} \right) \end{matrix}$ Next, define the cost and the zero-one variable by

$\begin{matrix} {{\left\lbrack \left\lbrack \quad \right.\quad \right.Z_{l_{k + 1}i_{k + 1 + N}}} = \left\{ \begin{matrix} 1 & {{if}\mspace{14mu}\left\{ {z_{i_{k + 2}}^{k + 2},\ldots\mspace{14mu},z_{i_{k + 1 + N}}^{k + 1 + N}} \right.} \\ 0 & {{{otherwise},}{\mspace{121mu}\left. \left. \quad \right\rbrack \right\rbrack}} \end{matrix} \right.} & \left( {4.7b} \right) \end{matrix}$ respectively, so that the track extension problem, which was originally formulated as Maximize {L_(γ)|γεΓδ as exactly the same multi-dimensional assignment in (3.4) but with k replaced by k+1. Thus, we do not repeat it here.

The Second Approach to Track Maintenance and Initiation

In the first approach the window lengths were the same for both track maintenance and initiation. This can be inefficient in that one can usually use a shorter window for track maintenance than for track initiation. This section addresses such a formulation.

The General Step k. To formulate a problem for track initiation and maintenance we consider a moving window centered as frame k of length I+J+1 denoted by [k−I, . . . , k, . . . ,k+J]. In this representation, the window length for track maintenance is J and that for initiation, I+J+1. The objective will be to explain the situation at this center and then the move to the same length window at center k+1 denoted by [k+1−I, . . . ,k+1, . . . . ,k+1+J], i.e., by moving the frame one frame at time to the right. The explanation from the first step follows hereinafter.

The notation for a track of data is T_(k)(l_(k))={z_(i) ₁ ¹(l_(k)), . . . ,z_(i) _(p) ^(p)(l_(k)), . . . , z_(i) _(k) ^(k)(l_(k))}  (4.8) where the index l_(k) is used for an enumeration of those reports paired together. We also use the notation T_(p,k)(l_(k)) to denote the sequence of reports belonging to track T_(k)(l_(k)) but restricted to frames prior to and including p. Thus, T_(k)(l_(k))=T_(k,k)(l_(k)) T_(k)(l_(i))={z_(i) _(j) ¹(l_(k)), . . . ,z_(i) _(p) ^(p)(l_(k))} T_(k,k)(l_(k))=T_(p,k)(l_(k))∪{z_(i) _(p+1) _((l) _(k) ₎ ^(p+1), . . . ,z_(i) _(k−1) _((l) _(k) ₎ ^(k−1),z_(i) _(k) _((l) _(k) ₎ ⁵} for p≦k−1.(4.9) Given this notation for the tracks and partition of the data in the frames {k−I, . . . ,k, . . . , k+J}. ^(L)T_(p,k)(I_(k)) will denote the accumulated likelihood ratio up to and including frame p(p≦k) for a track that is declared as existing on frame k as a solution of the assignment problem. In this notation, the likelihood for T _(p,k)(l_(k)) and that of the association of {z_(i) _(k+1) ^(k+1), . . . ,z_(i) _(k+n) ^(k+N)} with with track T_(k)(l_(k)) is given by

$\begin{matrix} \begin{matrix} {{{{{\left\lbrack \left\lbrack \quad \right.\quad \right.\quad}\quad}\quad}c_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{T}} = {{- {\ln\left\lbrack {L_{T_{k}{(l_{k})}}L_{i_{k + 1}\ldots\mspace{14mu} i_{k + J}}} \right\rbrack}}\mspace{14mu}{and}}} \\ {= {- {\ln\left\lbrack {L_{T_{p,k}{(l_{k})}}L_{{i_{p + 1}{(l_{k})}}\mspace{14mu}\ldots\mspace{14mu}{i_{k}{(l_{k})}}i_{k + 1}\mspace{14mu}\ldots\mspace{14mu} i_{k + J}}} \right\rbrack}}} \\ {z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{T} = \left\{ \begin{matrix} 1 & \left\{ {z_{i_{k - 1}}^{k + 1},\ldots\mspace{14mu},z_{i_{k - 1}}^{k + N}} \right\} \\ 0 & {{{otherwise},}{\mspace{265mu}\left. \left. \quad \right\rbrack \right\rbrack}} \end{matrix} \right.} \end{matrix} & (4.11) \end{matrix}$ respectively.

The cost for the assignment of {z_(i) _(k+1) ^(k+1), . . . ,z_(i) _(k+N) ^(k+N)} to track T_(k)(l_(k)) and the corresponding zero one variable are given by

$\begin{matrix} {{\left\lbrack \left\lbrack \quad \right.\quad \right.\begin{matrix} {c_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{T} = {{- {\ln\left\lbrack {L_{T_{k}{(l_{k})}}L_{i_{k + 1}\ldots\mspace{14mu} i_{k + J}}} \right\rbrack}}\mspace{14mu}{and}}} \\ {{= {- {\ln\left\lbrack {L_{T_{p,k}{(l_{k})}}L_{{i_{p + 1}{(l_{k})}}\ldots\mspace{11mu}{i_{k}{(l_{k})}}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}} \right\rbrack}}}\mspace{11mu}} \end{matrix}}{z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{T} = \left\{ \begin{matrix} 1 & \left\{ {z_{i_{k - 1}}^{k + 1},\ldots\mspace{14mu},z_{i_{k - 1}}^{k + N}} \right\} \\ 0 & {{{otherwise},}\left. \left. \mspace{239mu} \right\rbrack \right\rbrack} \end{matrix} \right.}} & (4.11) \end{matrix}$

is assigned to track T_(λ)(l_(k)), respectively. Likewise, for costs associated with the false reports on the frames k−I to k and as associated with {z_(l) _(k+1) ^(k+1), . . . ,z_(i) _(k+j) ^(k+J)} and the corresponding zero-one variable are given by:

$\begin{matrix} {{\left\lbrack \left\lbrack \quad \right.\quad \right.c_{i_{k - I}}^{F}\ldots\mspace{14mu} i_{{k^{i}k} + 1}\ldots\mspace{14mu} i_{k + J}} = {{{- \ln}\left\lfloor {L_{i_{k - I}}\ldots_{i_{k}i_{k + 1}}\ldots_{i_{k + J}}} \right\rfloor}{{z_{i_{k - I}}^{F}\ldots\mspace{14mu} i_{{k^{i}k} + 1}\ldots\mspace{14mu} i_{k + J}} = \left\{ \begin{matrix} 1 & \left\{ {{{if}\mspace{14mu} z_{i_{k - I}}},\ldots\mspace{14mu},z_{i_{k - I}},\ldots\mspace{14mu},z_{k + J}} \right\} \\ \; & {{{are}\mspace{14mu}{assigned}\mspace{14mu}{as}\mspace{14mu} a\mspace{14mu}{track}},} \\ 0 & {{{otherwise}.}{\mspace{230mu}\left. \left. \quad \right\rbrack \right\rbrack}} \end{matrix} \right.}}} & (4.12) \end{matrix}$

For the window of frames in the range [k−I, . . . ,k], the easiest explanation of the partition of the reports is based on the definitions

$\begin{matrix} {{F_{p,k} = \left\{ {i_{p}❘{z_{i_{p}}^{p}\begin{matrix} {{{belongs}\mspace{14mu}{to}\mspace{14mu}{one}\mspace{14mu}{of}\mspace{14mu}{the}\mspace{14mu}{tracks}\mspace{14mu}{listed}\mspace{14mu}{on}\mspace{14mu}{frame}\mspace{14mu} k},} \\ {{i.e.},{{{to}\mspace{14mu}{one}\mspace{14mu}{of}\mspace{14mu}{the}\mspace{14mu}{T_{k}\left( l_{k} \right)}\mspace{14mu}{for}\mspace{14mu}{some}\mspace{14mu} l_{k}} = 1},\ldots\mspace{14mu},L_{k}} \end{matrix}}} \right\}},{F_{p,k} = {\left( {\left\{ {1,\ldots\mspace{14mu},{Mp}} \right\}\backslash T_{p.k}} \right)\bigcup\left\{ 0 \right\}}},} & (4.13) \end{matrix}$ so that all of those reports not used in the tracks T_(k)(I_(k)) on frame p are put into the set of available reports F_(p,k) for the formation of tracks over the entire window. Thus, we formulate the assignment problem as

${{{{\left\lbrack \quad \right.\left\lbrack \quad \right.}{Minimize}\mspace{14mu}{\sum\limits_{p = {k - I}}^{k}\;{\sum\limits_{i_{p} \in F_{p,k}}\;{\sum\limits_{r = {k + 1}}^{k + J}\;{\sum\limits_{i_{r} = 0}^{M_{r}}\;{c_{{i_{k - I}\ldots\mspace{14mu} i_{k}},{i_{k + 1}\ldots\mspace{14mu} i_{k + J}}}^{F}z_{i_{k - I}\ldots\mspace{14mu} i_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{F}}}}}}} + {\sum\limits_{l_{k} = 1}^{L_{k}}\;{\sum\limits_{r = {k + 1}}^{k + J}\;{\sum\limits_{i_{r} = 0}^{M_{r}}{c_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{T}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{T}{{Subject}\mspace{14mu}{to}\text{:}\mspace{14mu}{\sum\limits_{{{p = {k - I}},{p \neq q}}\}}^{k}\;{\sum\limits_{i_{p} \in F_{p,k}}\;{\sum\limits_{r = {k + 1}}^{k + J}\;{\sum\limits_{i_{r} = 0}^{M_{r}}\; z_{i_{k - I}\ldots\mspace{14mu} i_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{F}}}}}}}}}}} = {1{{{{for}\mspace{14mu} i_{q}} \in {{F_{q,k}\backslash\left\{ 0 \right\}}\mspace{14mu}{and}\mspace{14mu} q}} = {k - I}}}},{\ldots\mspace{14mu} k},{{\sum\limits_{p = {k - I}}^{k}\;{\sum\limits_{i_{p} \in F_{p,k}}\;{\sum\limits_{\{{{r = {k + 1}},{r \neq q}}\}}^{k + J}\;{\sum\limits_{i_{r} = 0}^{M_{r}}\mspace{14mu}{{for}{\mspace{11mu}\;}i_{q}}}}}} = 1},\ldots\mspace{14mu},{m_{q}{{{and}\mspace{14mu} q} = {k + 1}}},{{\ldots\mspace{14mu} k} + J},{z_{i_{k - 1}\ldots\mspace{14mu} i_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{k - I}}},\ldots\mspace{14mu},i_{k},i_{k + 1},\ldots\mspace{14mu},{{i_{k + J}{\sum\limits_{p = {k + 1}}^{k + J}\;{\sum\limits_{i_{r} = 0}^{M_{r}}\; z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}}^{T}}}} = 1},{i_{q} = 1},\ldots\mspace{14mu},M_{q},{{{for}\mspace{14mu} q} = {k + 1}},{{\ldots\mspace{14mu} k} + J},{z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{k + J}} \in {{\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} l_{k}} \geq 1}},i_{k + 1},{\ldots\mspace{11mu}\left. \quad\;{,{i_{k + J}.}} \right\rbrack\left. \quad \right\rbrack}$

Suppose problem (4.14) has been solved and let the solution, i.e., those zero-one variables equal to one, be enumerated by

$\begin{matrix} {{{\quad\quad}\left\lbrack \left\lbrack \quad \right.\quad \right.}\left\{ A_{{l_{k}{(l_{k + 1})}}{i_{k + 1}{(l_{k + 1})}}\ldots\mspace{14mu}{(l_{k + 1})}}^{T} \right\}_{L_{{k + 1} = 1}}^{{\overset{\_}{L}}_{K + 1}}} & {(4.15)\;} \\ \left\{ z_{{i_{k - 1}{(l_{k + 1})}}\ldots\mspace{14mu}{i_{k}{(l_{k + 1})}}{i_{k + 1}{(l_{k + 1})}}\mspace{14mu}\ldots\mspace{14mu}{i_{k + J}{(l_{k + 1})}}}^{F} \right\}_{L_{{k + 1} = {{\overset{\_}{L}}_{K + 1} + 1}}}^{L_{K + 1}} & \left. \left. \quad \right\rbrack \right\rbrack \end{matrix}$ with the following exceptions.

a. All zero one variables in the second list for which (i_(k−1, . . . , k) _(k) ,i_(k+1))=(0, . . . ,0,0) are excluded. Thus, tracks that initiate on frames after the (k+1)^(th) are not included in the list.

b. All false reports are excluded, i.e., all zero-one variables in the second list whose subscripts have exactly one nonzero index.

c. All variables z_(i) _(k) ₁ _(k+1) . . . l _(k+N) for which (i_(k+1), . . . ,i_(k+N)=(0, 0, . . . ,0) and Z(p)∩T_(k)(l_(k))={0} for p=k−K, . . . ,k where K≧0 is user specified. Thus the track T_(k)(I_(k)) is terminated if it is not observed over K+J+1 frames.

Given the enumeration (4.15), one now fixes the assignments on the all index sets up to and including the (k+1)^(th) index sets.

$\left\lbrack \left\lbrack \quad \right.\quad \right.\begin{matrix} {{T_{k + 1}\left( l_{k + 1} \right)} = \left\{ \begin{matrix} {\left( {{T_{k}\left( {l_{k}\left( l_{k + 1} \right)} \right)},{z_{i_{k + 1}}^{k + 1}\left( l_{k + 1} \right)}} \right)\mspace{14mu}{for}} \\ {\mspace{14mu}{{l_{k + 1} = 1},\ldots\mspace{14mu},{\overset{\_}{L}}_{k + 1}}} \\ {z_{i_{k - 1}{(l_{k + 1})}}^{k - I},\ldots\mspace{14mu},z_{{i_{k}{(l_{k + 1})}})}^{k},{z_{i_{k + 1}}^{k + 1}\left( l_{k + 1} \right)}} \\ {{{{for}\mspace{14mu} l_{k + 1}} = {{\overset{\_}{L}}_{k + 1} + 1}},\ldots\mspace{14mu},l_{k + 1}} \end{matrix} \right.} & {(4.16){\rbrack\rbrack}} \end{matrix}$

Thus one can now formulate the assignment problem for the next problem exactly as in (4.14) but with k replaced by k+1. Thus, we do not repeat it here.

The Initial Step. Here is one explanation for the initial step. First, assume that N=I+J. In this case, we start the track initiation with a solution of (3.5). Let {i₂(l₂),i₂(l₂) . . . ,i_(N)(l₂),i_(N+1)(l₂)}_(l) ₂ ^(L) ² =0 be an enumeration of the solution set of (3.5), i.e., those zero-one variables z_(i) ₁ _((l) ₂ _()i) ₂ _((l) ₂ _() . . . i) _(N+1) _((l) ₂ ₎₌1, including z_(OO . . . O)=1 corresponding to l₂=0, but excluding all those zero-one variables that are assigned to one and correspond to false reports (i.e., there is exactly one nonzero index in the subscript of z_(i) ₁ _(i) ₂ . . . i_(N+1)), all those zero-one variables that are assigned to one and correspond to tracks that initiate on frames higher than I+2. Then we fix the data association decisions corresponding to the reports in our list of tracks prior to and including frame k+1=I+2. This defines the k for problem (4.4) and one can then continue the development by adding a frame to the window as in the general case.

If I+J>N, then one possibility is to start the process with N+1 frames, and assuming J≦N, proceed as before replacing I by N−J for the moment, and continue to add frames without lopping off the first frame in the window until reaches a window of length I+J+1. Then we proceed as in the previous paragraph.

If I+J<N, then one can solve the track initiation problem (3.5), formulate the problem with the center of the window at k+1=N+1−J, enumerate the solutions as above, and lop off the first N−J−I frames. Then, we proceed just as in the case I+J=N.

A primary objective in this work has been to demonstrate how multidimensional assignment problems arise in the tracking environment. The problem of track initiation and maintenance has been formulated within the framework of a moving window over the frames of data. The solution of these NP-hard, noisy, large scale, and sparse problems to the noise level in the problem is fundamental to superior track estimation and identification. Thus, one must utilize the special structure in the problems as well take advantage of special information that is available. Since these moving windows are overlapping, there are some algorithm efficiencies that can been identified and that take advantages of the overlap in the windows from one frame of reports to the next. Here is an example of the use of a primal solution of one problem to warm start the solution of the next problem in the sequence.

Suppose we have solved problem (4.4) and have enumerated all those zero-one variables in the solution of (4.4) as in (4.5). Add the zero index l_(k+1)=0, so that the enumeration is {(l_(k)(l_(k+1)),i_(k+1)(l_(k+1)), . . . ,i_(k+N)(l_(k+1)))}_(i) _(k+1) ^(Lk+1)=0   (5.1) With this enumeration one can define the cost by c_(i) _(k+1) _(i) _(k+1+N) =c_(i) _(k) _((l) _(k+1) ₎ _(k+1) _((l) _(k+1) _(), . . . , i) _(N+1) _((l) _(k+i) _()i) _(k+1+N)   (5.2) and the two dimensional assignment problem

$\begin{matrix} \begin{matrix} {{\quad\left\lbrack \left\lbrack \quad \right.\quad \right.\Phi_{2}} \equiv {{Minimize}{~~~}{\sum\limits_{l_{k = 1} = 0}^{L_{k + 1}}\;{\sum\limits_{i_{k + 1 + N} = 0}^{M_{k + 1 + N}}{c_{l_{k + 1}i_{k + 1 + N}}^{2}z_{l_{k + 1}i_{k + 1 + N}}^{2}}}}} \equiv {V_{2}\left( z^{2} \right)}} \\ {{{{Subject}\mspace{14mu}{to}\text{:}{~~~}{\sum\limits_{i_{k + 1 + N} = 0}^{M_{k + 1 + N}}z_{l_{k + 1}i_{k + 1 + N}}^{2}}} = 1},{l_{k + 1} = 1},\ldots\mspace{14mu},L_{k + 1},} \\ {{{\sum\limits_{l_{k + 1} = 0}^{L_{k + 1}}z_{l_{k + 1}i_{k + 1 + N}}^{2}} = 1},{l_{k + 1 + N} = 1},\ldots\mspace{14mu},M_{k + 1 + N},} \\ {{z_{l_{k + 1}i_{k + 1 + N}}^{2} \in {\left( {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} l_{l_{k + 1}}}},{i_{k + 1 + N}.}} \end{matrix} & \left. \left. (5.3) \right\rbrack \right\rbrack \end{matrix}$ Let w be an optimal or feasible solution to this two-dimensional assignment problem and define

$\begin{matrix} {{{\left\lbrack \quad \right.\left\lbrack \quad \right.}{\overset{\_}{Z}}_{i_{k + 1}\ldots\mspace{14mu} i_{k + N}i_{k + 1 + N}}} = \left\{ \begin{matrix} 1 & {{if}\mspace{14mu}\left( {i_{i_{k + 1}},\ldots\mspace{14mu},{i_{i_{k + N}} = \left( {i_{k + 1}\left( {l_{k + 1},\ldots\mspace{14mu},{i_{k + N}\left( l_{k + 1} \right)}} \right)} \right.}} \right.} \\ \; & {{{{and}\mspace{14mu} w_{l_{k + 1}i_{k + 1 + N}}} = {{{for}\mspace{14mu}{some}\mspace{14mu} l_{k + 1}} = 1}},1,\ldots\mspace{14mu},L_{k + 1}} \\ \; & {{{{or}\mspace{14mu}{if}\mspace{14mu}\left( {l_{k + 1},i_{i_{k + 1 + N}}} \right)} = \left( {0,0} \right)},} \\ 0 & \left. \left. {{otherwise}.}\mspace{419mu} \right\rbrack \right\rbrack \end{matrix} \right.} & {(5.4)\;} \end{matrix}$

This need not satisfy the constraints in that there are usually many objects left unassigned. Thus, one can complete the assignment by using the zero-one variables in (4.4) with k replaced by k+1 with exactly one nonzero index corresponding to any unassigned object or data report.

For the dual solutions, the multipliers arising from the solution of the two dimensional assignment problem (5.3) corresponding to the second variable. i.e., {u_(i) _(k+1+N) ^(k+1+N)}_(i) _(k+1+N) ^(M) ^(k+1+N) =0. These are good initial values for use in a relaxation scheme [11.12]. Finally, note that one can also develop a warm start for problem (4.14) in a similar fashion.

Multidimensional assignment problems govern the central problem of data association in multisensor and multitarget tracking, i.e., the problem of partitioning observations from multiple scans of the surveillance region and from either single or multiple sensors into tracks and false alarms. This fundamental problem can be stated as

$\begin{matrix} \begin{matrix} {\left\lbrack \left\lbrack \quad \right.\quad \right.{Minimize}{~~~}{\sum\limits_{i_{1} = 0}^{M_{1}}{\ldots\mspace{20mu}{\sum\limits_{i_{N} = 0}^{M_{N}}{c_{i_{1}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}}}}}} \\ {{{{Subject}\mspace{14mu}{to}\text{:}{~~~}{\sum\limits_{i_{2} = 0}^{M_{2}}{\ldots\mspace{20mu}{\sum\limits_{i_{N} = 0}^{M_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}}}}} = 1},{i_{1} = 1},1,\ldots\mspace{14mu},M_{1},} \\ {\sum\limits_{i_{1} = 0}^{M_{1}}{\ldots\mspace{20mu}{\sum\limits_{i_{p - 1} = 0}^{M_{p - 1}}{\sum\limits_{i_{p + 1} = 0}^{M_{p + 1} = 0}{\ldots\mspace{20mu}{\sum\limits_{i_{N} = 0}^{M_{N}}{\ldots\mspace{14mu} z_{{i_{1}\ldots\mspace{14mu} i_{N}} = 1}}}}}}}} \\ {{{{for}\mspace{14mu} i_{p}} = 1},\ldots\mspace{14mu},{{M_{p}\mspace{14mu}{and}\mspace{14mu} p} = 2},\ldots\mspace{20mu},{N - 1},} \\ {{{\sum\limits_{i_{1} = 0}^{M_{1}}{\ldots\mspace{20mu}{\sum\limits_{i_{n - 1} = 0}^{M_{n - 1}}z_{i_{1}\ldots\mspace{14mu} i_{N}}}}} = 1},{i_{N} = 1},\ldots\mspace{14mu},M_{N},} \\ {{z_{i_{1}\ldots\mspace{14mu} i_{N}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}}},\ldots\mspace{14mu},i_{N},} \\ {{{{for}\mspace{14mu} i_{k}} = 1},\ldots\mspace{14mu},{{M_{k}\mspace{14mu}{and}\mspace{14mu} k} = 2},\ldots\mspace{20mu},N,} \\ \left. \left. {{{z_{i_{1}}\ldots\mspace{14mu} 1_{N + 1}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}}},\ldots\mspace{14mu},i_{{N + 1}\mspace{205mu}}} \right\rbrack \right\rbrack \end{matrix} & {(1.1)\;} \end{matrix}$ where c_(O . . . 0) is arbitrarily defined to be zero and is included for notational convenience. One can modify this formulation to include multiassignments of one, some, or all of the actual reports. The zero index is used in representing missing data, false alarms, initiating and terminating tracks. In these problems, we assume that all zero-one variables z_(ij . . .) i_(N) with precisely one nonzero index are free to be assigned and that the corresponding cost coefficients are well-defined. (This is a valid assumption in the tracking environment.) Although not required, these cost coefficients with exactly one nonzero index can be translated to zero by cost shifting without changing the optimal assignment. Finally, this formulation is of sufficient generality to include the symmetric problem and the asymmetric inequality problem.

The data association problems in tracking that are formulated as (1.1) have several characteristics. They are normally sparse, the cost coefficients are noisy and the problem is NP-hard, but it must be solved in real-time. The only known methods for solving this NP-hard problem optimally are enumerative in nature, with branch-and-bound being the most efficient; however, such methods are much too slow for real-time applications. Thus one must resort to suboptimal approaches. Ideally, any such algorithm should solve the problem to within the noise level, assuming, of course, that one can measure this noise level in the physical problem and the mathematical method provides a way to decide if the criterion has been met.

There are many algorithms that can be used to construct suboptimal solutions to NP-hard combinatorial optimization problems. These include greedy (and its many variants), relaxation, simulated annealing. tabu search, genetic algorithms, and neural netork algorithms. For the three dimensional assignment problem. Pierskalla developed the tri-substitution method, which is a variant of the simplex method. Frieze and Yadegar introduced a method based on Lagrangian relaxation in which a feasible solution is recovered using information provided by the relaxed solution. Our choice of approaches is strongly influenced by the need to balance real-time performance and solution quality. Lagrangian relaxation based methods have been used successfully in prior tracking applications. An advantage of these methods is that they provide both an upper and lower bound on the optimal solution, which can then be used to measure the solution quality. These works extend the method of Frieze and Yadegar to the multidimensional case.

Probabilistic Framework for Data Association. (ABP)

The goal of this section is to explain the formulation of the data association problems that governs large classes of data association problems in centralized or hybrid centralized-sensor level multisensor/multitarget tracking. The presentation is brief; technical details are presented for both track initiation and maintenance in the work of Poore. The formulation is of sufficient generality to cover the MHT work of Reid, Blackman and Stein and modifications by Kurien to include maneuvering targets. As suggested by Blackman, this formulation can also be modified to include target features (e.g., size and type) into the scoring function. The recent work of Poore and Drummond significantly extends the work of this section to new approaches for multiple sensor centralized tracking. Future work will involve extensions to track-to-track correlation.

The data association problems for multisensor and multitarget tracking considered in this work are generally posed as that of maximizing the posterior probability of the surveillance region (given the data) according to Maximize {P(Γ=γ|Z^(N))|γεΓ*}  (2.1) where Z^(N) represents N data sets, γ of the data (and thus induces a partition of the data), Γγ

$\left\lbrack \left\lbrack \mspace{200mu}{\Gamma\mspace{11mu}\begin{matrix} {\Gamma\;\delta} & \left. \left. \gamma^{0}\mspace{124mu} \right\rbrack \right\rbrack \end{matrix}} \right. \right.$ P(Γ γ|Z^(N)) is the posterior probability of a partition γ true given the data Z^(N). The term partition is defined below; however, this framework is currently sufficiently general to cover set packings and coverings.

Consider N data sets Z(k) (k=I, . . . ,N) each of M_(k) reports {z_(i) _(k) ^(k)}_(i) _(k) ^(M) ^(k) =1, and let Z^(N) denote the cumulative data set defined by Z(k)={z_(i) _(k) ^(k)}_(i) _(k) ^(Mk)=1 and Z^(N)={(Z(I), . . . ,Z(N)}  (2.2) respectively. In multisensor data fusion and multitarget tracking the data sets Z(k) may represent different classes of objects, and each data set can arise from different sensors. For track initiation the objects are measurements that must be partitioned into tracks and false alarms. In our formulation of track maintenance, which uses a moving window over time, one data set will be tracks and remaining data sets will be measurements which are assigned to existing tracks, as false measurements, or to initiating tracks. In sensor level tracking, the objects to be fused are tracks. In centralized fusion, the objects may all be measurements that represent targets or false reports, and the problem is to determine which measurements emanate from a common source.

We specialize the problem to the case of set partitioning defined in the following way. First, for notational convenience in representing tracks, we add a zero index to each of the index sets in (2.2), a dummy report z_(o) ^(k) to each of the data sets Z(k) in (2.2), and define a “track of data” as (z_(i) ₁ ^(i),z_(i) _(N) ^(N)) where @@i_(k) and z_(i) _(k) ^(k) can now assume the values of 0 and z_(O) ^(k), respectively. A partition of the data will refer to a collection of tracks of data wherein each report occurs exactly once in one of the tracks of data and such that all data is used up; the occurrence of dummy report is unrestricted. The dummy report z_(O) ^(k) serves several purposes in the representation of missing data, false reports, initiating tracks, and terminating tracks. The reference partition is that in which all reports are declared to be false.

Next under appropriate independence assumptions one can show

$\begin{matrix} {{{\left\lbrack \left\lbrack \quad \right.\quad \right.\frac{P\left( {\Gamma = {\gamma ❘Z^{N}}} \right)}{P\left( {\Gamma = {\gamma^{0}❘Z^{N}}} \right)}} \equiv {L\;\gamma} \equiv {\prod\limits_{{({i_{1}\ldots\mspace{14mu} i_{N}})} \in \gamma}\; L_{i_{1}\ldots\mspace{14mu} i_{N}}}},} & {(2.3){\rbrack\rbrack}} \end{matrix}$ L_(i) ₁ . . . i_(N) is a likelihood ratio containing probabilities for detection, maneuvers, and termination as well as probability density functions for measurement errors, track initiation and termination. Then if c_(i) ₁ . . . i_(N=—)InL_(i) ₁ . . . i_(N),

$\begin{matrix} {{{{\left\lbrack \left\lbrack \quad \right.\quad \right.\quad} - {\ln\left\lfloor \frac{P\left( {\gamma ❘Z^{N}} \right)}{P\left( {\gamma^{0}❘Z^{N}} \right)} \right\rfloor}} = {\sum\limits_{{({i_{1}\ldots\mspace{14mu} i_{N}})} \in \gamma}\;{c_{i_{1}\ldots\mspace{14mu} i_{N}}.}}}\quad} & \left. \left. (2.4) \right\rbrack \right\rbrack \end{matrix}$

Using (2.3) and the zero-one variable z_(i) _(1 . . . N) ==1 i_(1, . . . N))

$\begin{matrix} {{{\left\lbrack \left\lbrack \quad \right.\quad \right.\quad}\begin{matrix}  \in & \gamma & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & {.i} & \; & f & {\;^{\gamma}\left( i \right.} & \; & {\;_{\mspace{14mu},}^{\Delta}i} & \; & \; \\ \; & \; & \; & \phi & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; & \; \end{matrix}}\begin{matrix} {{Minimize}{~~}{\sum\limits_{i_{1}\ldots\mspace{14mu} i_{N}}{c_{i_{1}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}}}} & \; \\ {{{Subject}\mspace{14mu}{to}{\sum\limits_{i_{2}i_{3}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}}} = 1} & {\left( {{i_{1} = 1},\ldots\mspace{11mu},M_{1}} \right)} \\ {{\sum\limits_{i_{1}i_{3}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}} = 1} & {\left( {{i_{2} = 1},\ldots\mspace{11mu},M_{1}} \right)} \\ {{\sum\limits_{i_{1}\ldots\mspace{14mu} i_{p - 1}i_{p + 1}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}} = 1} & \; \\ {\left( {{i_{p} = 1},\ldots\mspace{11mu},{{M_{p}\mspace{14mu}{and}\mspace{14mu} p} = 2},{{\ldots\mspace{14mu} N} - 1}} \right)} & \; \\ {{\sum\limits_{i_{1}i_{2}\ldots\mspace{14mu} i_{N - 1}}z_{i_{4}\ldots\mspace{14mu} i_{N}}} = 1} & {\left( {{i_{N} = 1},\ldots\mspace{11mu},M_{N}} \right)} \\ \left. \left. {{z_{i_{1}\ldots\mspace{14mu} i_{N}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}}},\ldots\mspace{14mu},{i_{N}.}} \right\rbrack \right\rbrack & \; \end{matrix}} & \lbrack 2.5\rbrack \end{matrix}$ where c_(O . . . O) is arbitrarily defined to be zero. Here, each group of sums in the constraints represents the fact that each-non-dummy report occurs exactly once in a “track of data.” One can modify this formulation to include multiassignments of one, some, or all the actual reports. The assignment problem (2.5) is changed accordingly. For example, if z_(l) _(k) ^(k) is to be assigned no more than, exactly, or no less than n_(i) _(k) ^(k) times, then the “=1” in the constraint (2.5) is changed to ≦, =, ≧n_(i) _(k) ^(k),” respectively. Modifications for group tracking and multiresolution features of the surveillance region will be addressed in future work. In making these changes, one must pay careful attention to the independence assumptions that need not be valid in many applications.

Expressions for the likelihood ratios L_(l) _(1.) ,i_(N), can be found in the work of Poore. These expressions include the developments of Reid, Kurien, and Stein and Blackman. What's more, they are easily modified to include target features and to account for different sensor types. In track initiation, the N data sets all represent reports from N sensors, possibly all the same. For track maintenance, we use a sliding window of N data sets and one data set containing established tracks. The formulation is the same as above except that the dimension of the assignment problem is now N+1.

Overview of the Lagrangian Relaxation Algorithm. (ABP)

Having discussed the N-dimensional assignment problem (1.1) (3.1), we now turn to a description of the Lagrangian relaxation algorithm. The algorithm will proceed iteratively for a loop k=1, . . . , N−2. At the completion, there remains one two-dimensional assignment problem that provides the last step which yields an optimal (sometimes) or near-optimal solution to the original N-dimensional assignment problem. In step k of this loop (summarized in Section 4 IV.3) one starts with the following (N−k+1)-dimensional assignment problem with one change in notation. If k=1, then the index notation l₁ and L₁ are to be replaced by i₁ and M₁, respectively.

$\begin{matrix} \begin{matrix} {{Minimize}{\mspace{14mu}}{\sum\limits_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}\;{c_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}^{N - k + 1}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}^{N - k + 1}}}} \\ {{{{Subject}\mspace{14mu}{To}{~~}{\sum\limits_{i_{k + 1}\ldots\mspace{14mu} i_{N}}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}^{N - k + 1}}} = 1},{l_{k} = 1},\ldots\mspace{14mu},L_{k},} \\ {{{\sum\limits_{l_{k}i_{k + 2}\ldots\mspace{14mu} i_{N}}z_{l_{k}i_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} = 1},} \\ {{i_{k + 1} = 1},\ldots\mspace{14mu},M_{k + 1},} \\ {{{\sum\limits_{i_{k}i_{k + 1}\ldots\mspace{14mu} i_{p - 1}i_{p + 1}\ldots\mspace{14mu} i_{N}}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} = 1},} \\ {{{{for}\mspace{14mu} i_{p}} = 1},\ldots\mspace{14mu},{{M_{p}\mspace{14mu}{and}\mspace{14mu} p} = {k + 2}},\ldots\mspace{14mu},{N - 1},} \\ {{{\sum\limits_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N - k + 1}}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} = 1},{i_{N} = 1},\ldots\mspace{14mu},M_{N},} \\ {{z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} l_{k}}},i_{k + 1},\ldots\mspace{14mu},{i_{N}.}} \end{matrix} & {\left. \left. {\left\lbrack \lbrack \right.(3.1)\;} \right\rbrack \right\rbrack(4.7)} \end{matrix}$ To ensure that a feasible solution of (3.1) Equation (4.7) always exists for is a sparse problem, all variables with exactly one nonzero index (i.e., variables of the form z_(l) _(k) _(O . . . O) ^(N−k+1) o for l_(k), . . . ,L_(k)l_(k)=1, . . . ,L_(k) and z_(l) ₀ _(. . . l) _(O . . . O) ^(N−k+1) for i_(p)=1, . . . , M_(l) _(p) and p=k+12, . . . ,N) assumed free to be assigned with the corresponding cost coefficients being well-defined. This assumption is valid in the tracking environment (A. B. Poore. Multidimensional assignments and multitarget tracking, partitioning data sets, I. J. cox, P. Hansen, and B. Julesz, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, R.I., 19:169-198, 1995; A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994)..

Subsection 3.1Section IV.3.1 presents some of the properties associated with the Lagrangian relaxation of (3.1)(4.7) based on relaxing the last (N−k)-sets of constraints to a two-dimensional one. A Section IV.3.2 describes a new approach to the problem of recovering a high quality feasible solution of the original (N−k+1)-dimensional problem given a feasible solution (optimal or suboptimal) of the relaxed two-dimensional problem is described hereinafter. A summary of the relaxation algorithm is given hereinafter in Section IV.3.3, following which and in Section IV.3.4, we establish the maximization of the Lagrangian dual (an important aspect of the relaxation 3procedure) to be an unconstrained nonsmooth optimization problem and then present a method for computing the subgradients.

IV.3.1 The Lagrangian Relaxed Assignment Problem.

The (N−k+1)-dimensional problem (3.1) (4.7) has (N−k+1) sets of constraints. A (M_(p)+1)-dimensional multiplier vector (i.e., ν^(p) ε R^(M) ^(p) ⁺1) associated with the p-th p^(th) constraint set will be denoted by u^(p)=(u₀ ^(p),u₁ ^(p), . . . ,u_(M) _(p) ^(p))^(T) with u_(O) ^(p)=0 being fixed for each p=k+2, . . . , N and included for notational convenience only. Now, the (N−k+1)dimensional (N−k+1)-dimensional assignment problem (3.1) (4.7) is relaxed to a two-dimensional assignment problem by incorporating (N−k−1) sets of constraints into the objective function via the Lagrangian. Although any (N−k−1) constraint sets can be relaxed, we choose the last (N−k−1) sets of constraints for convenience. The relaxed problem is

$\begin{matrix} {{{\Phi_{N - k + 1}\left( {u^{k + 2},\ldots\mspace{14mu},u^{N}} \right)} \equiv {{Minimize}\mspace{14mu}{\phi_{N - k + 1}\left( {{z^{N - k + 1};u^{k + 2}},\ldots\mspace{14mu},u^{N}} \right)}} \equiv {{{Minimize}\mspace{14mu}{\sum\limits_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}\;{c_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}^{N - k + 1}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}^{N - k + 1}}}} + {\sum\limits_{p = {k + 2}}^{N}\;{\sum\limits_{i_{p} = 0}^{M_{p}}{u_{i_{p}}^{p}\left\lbrack {{\sum\limits_{l_{k}i_{k + 1}\ldots\mspace{14mu} l_{p - 1}i_{p + 1}\ldots\mspace{14mu} i_{N}}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} - 1} \right\rbrack}}}} \equiv {{{Minimize}\mspace{14mu}{\sum\limits_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}{\left\lbrack {c_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}^{N - k + 1} + {\sum\limits_{p = {k + 2}}^{N}\;{\sum\limits_{i_{p} = 0}^{M_{p}}u_{i_{p}}^{p}}}} \right\rbrack z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}^{N - k + 1}}}} - {\sum\limits_{p = {k - 2}}^{N}\;{\sum\limits_{i_{p} = 0}^{M_{p}}u_{i_{p}}^{p}}}}}{{{{Subject}\mspace{14mu}{To}\mspace{14mu}{\sum\limits_{i_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}z_{l_{k}i_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}}} = 1},{l_{k} = 1},{\ldots\mspace{14mu} L_{k}},\mspace{124mu}{{\sum\limits_{l_{k}i_{k + 2}\ldots\mspace{14mu} i_{N}}z_{l_{k}i_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} = 1},{i_{k + 1} = 1},\ldots\mspace{14mu},{M_{k + 1}.}}} & {\left\lbrack \left\lbrack (3.2) \right\rbrack \right\rbrack\;(4.8)} \end{matrix}$ One of the major steps in the algorithm is the maximization of Φ_(N−k+1)(u^(k+2), . . . ,u^(N)) with respect to the multipliers (u^(k+2), . . . ,u^(N)). It turns out that Φ_(N−k+1) is a concave, continuous, and piecewise affine function of the multipliers (u^(k+2), . . . ,u^(N)), so that the maximization of Φ_(N−k+1) is a problem of nonsmooth optimization. Since many of these algorithms [???] require a function value and a subgradient of Φ_(N−k+1) at any required multiplier value (u^(k+2), . . . ,u^(N)), we address this problem in the next subsection. We note, however, that there are other ways to maximize Φ_(N−k+1) and the next subsection just addresses one such method.

IV.3.2 Properties of the Lagrangian Relaxed Assignment Problem

For a function evaluation of Φ_(N−k+1) Φ_(N−k+1), we show that an optimal (or suboptimal) solution of this relaxed problem (3.2) (4.8) can be constructed from that of a two-dimensional assignment problem. Then, the nonsmooth characteristics of Φ_(N−k+1) are addressed, followed by a method for computing the function value and a subgradient.

Evaluation of Φ_(N−k+1). Define for each (l_(k),i_(k+1)) an index (j_(k+2), . . . , j_(N))=(j_(k+2)(l_(k),i_(k+1)), . . . ,j_(N)(l_(k),i_(k+1))) and a new cost function c_(l) _(k) _(i) _(k+1) ² by

$\begin{matrix} {{\left( {{j_{k + 2}\left( {l_{k},i_{k + 1}} \right)},\ldots\mspace{14mu},{j_{N}\left( {l_{k},i_{k + 1}} \right)}} \right) = {\arg\;\min\begin{Bmatrix} {{{{c_{l_{k}i_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1} + {\sum\limits_{p = {k + 2}}^{N}u_{i_{p}}^{p}}}❘i_{p}} = 0},1,\ldots\mspace{14mu},M_{p}} \\ {{{{and}\mspace{14mu} p} = {k + 2}},\ldots\mspace{14mu},N} \end{Bmatrix}}},{c_{l_{k}i_{k + 1}}^{2} = {{c_{l_{k}i_{k + 1}{j_{k + 2}{({l_{k},i_{k + 1}})}}\ldots\mspace{14mu}{j_{N}{({l_{k},i_{k + 1}})}}}^{N - k + 1} + {\sum\limits_{p = {k + 2}}^{N}{{u_{j_{p}}^{p}\left( {l_{k},i_{k + 1}} \right)}\mspace{14mu}{for}\mspace{14mu}\left( {l_{k},i_{k + 1}} \right)}}} \neq \left( {0,0} \right)}},{c_{00}^{2} = {\sum\limits_{i_{k + 1}\ldots\mspace{14mu} i_{N}}{{Minimum}\mspace{14mu}\left\{ {0,{c_{00i_{k + 2}\ldots\mspace{14mu} i_{N}} + {\sum\limits_{p = {k + 2}}^{N}u_{i_{p}}^{p}}}} \right\}}}},} & {\left\lbrack \left\lbrack (3.3) \right\rbrack \right\rbrack\;(4.9)} \end{matrix}$ Given an index pair (I_(k),i_(k+1)),(j_(k+2), . . . , j_(N)) need not be unique, resulting in the potential generation of several subgradients (3.11) (4.17). Then,

$\begin{matrix} {{{{\hat{\Phi}}_{N - k + 1}\left( {u^{k + 2},\ldots\mspace{14mu},u^{N}} \right)} = {{{Minimize}\mspace{14mu}{{\hat{\phi}}_{N - k + 1}\left( {{z^{2};u^{k + 2}},\ldots\mspace{14mu},u^{N}} \right)}} \equiv {{\sum\limits_{l_{k} = 0}^{L_{k}}\;{\sum\limits_{i_{k + 1} = 0}^{M_{k + 1}}{c_{l_{k}i_{k + 1}}^{2}z_{l_{k}i_{k + 1}}^{2}}}} - {\sum\limits_{p = {k + 2}}^{N}\;{\sum\limits_{i_{p} = 0}^{M_{p}}u_{i_{p}}^{p}}}}}}{{{{Subject}\mspace{14mu}{To}\mspace{14mu}{\sum\limits_{i_{k + 1} = 0}^{M_{k + 1}}z_{l_{k}i_{k + 1}}^{2}}} = 1},{l_{k} = 1},{\ldots\mspace{14mu} L_{k}},\mspace{124mu}{{\sum\limits_{l_{k} = 0}^{L_{k}}z_{l_{k}i_{k + 1}}^{2}} = 1},{i_{k + 1} = 1},\ldots\mspace{14mu},M_{k + 1},\mspace{50mu}{z_{l_{k}i_{k + 1}}^{2} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} l_{k}}},{i_{k + 1}.}}} & {\left\lbrack \left\lbrack (3.4) \right\rbrack \right\rbrack(4.10)} \end{matrix}$ As an aside, two observations are in order. The first is that the search procedure needed for the computation of the relaxed cost coefficients in (3.3) (4.9) is the most computationally intensive part of the entire relaxation algorithm. The second is that a feasible solution z^(N−k+1) of a sparse problem (3.1) (4.7) yields a feasible solution z² of (3.4) (4.10) via the construction

$z_{l_{k}i_{k + 1}}^{2} = \left\{ \begin{matrix} {1,} & {{{{if}\mspace{14mu} z_{l_{k}i_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} = {1\mspace{14mu}{for}\mspace{14mu}{some}\mspace{14mu}\left( {i_{k + 2},\ldots\mspace{14mu},i_{N}} \right)}},} \\ {0,} & {{otherwise}.} \end{matrix} \right.$ thus, there are generally solutions other than the one nonzero index solution.

The following Theorem 3.1 4.1 gives a method for evaluating Φ_(N−k+1) and states that an optimal solution of (3.2) (4.10) can be computed from that of (3.4) (4.10). Furthermore, if the solution of either of these two problems is ε-optimal, then so is the other. The converse is contained in Theorem 3.2 (4.2).

Theorem 3.1. Let ω² dimensional assignment problem (3.4) and define ω^(N−k+1)

$\begin{matrix} \begin{matrix} {\left\lbrack \left\lbrack \quad \right.\quad \right.{\,_{1^{i_{k + 2}\ldots\mspace{14mu} N}}^{1}\;{= {\omega\;}_{l_{k}i_{k + 1}}^{2}}}} & {{{if}\mspace{14mu}\left( {i_{k + 2},{\ldots\mspace{14mu} i_{N}}} \right)} = \left( {j_{k + 2},\ldots\mspace{14mu},j_{N}} \right)} \\ \; & {{{and}\mspace{14mu}\left( {l_{k},i_{k + 1}} \right)} \neq \left( {0,(} \right.} \\ {\;_{i_{k + 1}i_{k + 2}\ldots\mspace{14mu} N}^{k + 1}{= 0}} & {{{if}\mspace{14mu}\left( {i_{k + 2},{\ldots\mspace{14mu} i_{N}}} \right)} \neq \left( {j_{k + 2},\ldots\mspace{14mu},j_{N}} \right)} \\ \; & {{{and}\mspace{14mu}\left( {l_{k},i_{k + 1}} \right)} \neq \left( {0,(} \right.} \\ {\;_{0i_{k + 2}\ldots\mspace{14mu} i_{N}}^{k + 1}{= 1}} & {{{{{if}\mspace{14mu} c_{00i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} + {\sum\limits_{p = {k + 2}}^{N}\; u_{i_{p}}^{p}}} \leq 0};} \\ {\;_{0i_{k + 2}\ldots\mspace{14mu} i_{N}}^{k + 1}{= 0}} & {{{{if}\mspace{14mu} c_{00i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} + {\sum\limits_{p = {k + 2}}^{N}\; u_{i_{p}}^{p}}} > {0.\left. \quad \right\rbrack\left. \quad \right\rbrack}} \end{matrix} & (3.5) \end{matrix}$ Then ω^(N−k+1) ν problem and Φ_(N−k+1)γω^(N−k+1)ν^(k+2) . . . , ν^(N) {circumflex over (Φ)}_(N−k−1)γω₂ ν^(k+2) ν^(N)Δ addition, ω₂ω^(N=k+1) Φ_(N−k+1)γν^(k+2) ν^(N)Δ {circumflex over (Φ)}_(N−k+1)γν^(k+2) ν^(N)Δ Proof. Let ω^(N−k+1) ω² Φ_(N−k+1)γω^(N−k+1) ν^(k+2) ν^(N)Δ {circumflex over (Φ)} γ_(N−k+1) ²ν^(k+2) ν^(N)) objective function values of (3.2) and (3.4), respectively. Direct verification shows that ω^(n−k+1) in (3.2) and Φ_(N−k+1)γω^(N−k+1) ν^(k+2)ν^(N){circumflex over (Φ)}_(N−k+1)γω²ν^(k+2), . . . ,ν^(N) remainder of the proof, assume that ω⁻γΔ Let χ^(N−k+1) γΔ

$\begin{matrix} {{{{{\left\lbrack \quad \right.\left\lbrack \quad \right.}\chi_{l_{k}i_{k - 1}}^{2}} = {{\sum\limits_{i_{k - 2}\ldots\mspace{14mu} i_{N}}\;{\chi_{l_{k}i_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}\mspace{14mu}{for}\mspace{14mu}\left( {l_{k},i_{k + 1}} \right)}} \neq \left( {0,0} \right)}};}{\chi_{00}^{2} = {{{1\mspace{14mu}{if}\mspace{14mu}\left( {l_{k},i_{k + 1}} \right)} = {\left( {0,0} \right)\mspace{14mu}{and}}}{{{C_{00i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1} + {\sum\limits_{p = {k + 2}}^{N}\; u_{i_{p}}^{p}}} \leq {0\mspace{14mu}{for}\mspace{14mu}{some}\mspace{14mu}\left( {i_{k + 2},\ldots\mspace{14mu},i_{N}} \right)}};}{\chi_{00}^{2} = {{0\mspace{14mu}{if}\mspace{14mu}\left( {l_{k},i_{k + 1}} \right)} = {\left( {0,0} \right)\mspace{14mu}{and}}}}{{C_{00i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1} + {\sum\limits_{p = {k + 2}}^{N}\; u_{i_{p}}^{p}}} > {0\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu}{\left( {i_{k + 2},\ldots\mspace{14mu},i_{N}} \right).\left. \quad \right\rbrack}\left. \quad \right\rbrack}}}}} & (3.6) \end{matrix}$ Note that χ²γΔΦ_(N−k+1)γχ^(N−k+1)ν^(k+2)ν^(N)Δ≧{circumflex over (Φ)}_(N−k+1)(χ²ν^(k+2) ν^(N)Δ≧ {circumflex over (Φ)}_(N−k+1) (ω² ν^(k+2) ν^(N)Δ Φ_(N−k+1)γω^(N−k+1) ν^(k+2) ν^(N)Δ χ^(N−k+1) γ Δ ω ω^(N−k+1) optimal solution of (3.2). Next, Φ_(N−k+1)γν^(k+2) ν^(N)Δ {circumflex over (Φ)}_(N−k+1) (ν^(k+2) ν^(N)Δ Φ_(N−k+1)γω^(N−k+1) ν^(k+2) ν^(N)Δ Φ_(N−k+1)(ω² ν^(k+2) ν^(N)Δ ω² γΔ

With the exception of one equality being converted to an inequality, the following theorem is a converse of Theorem 3.1.

Theorem 3.2. Let ω^(N−k+1)γΔ and define ω²

$\begin{matrix} {{{{\left\lbrack \left\lbrack \quad \right.\quad \right.\omega_{l_{k}i_{k - 1}}^{2}} = {{\sum\limits_{i_{k - 2}\ldots\mspace{14mu} i_{N}}\;{\omega_{l_{k}i_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}\mspace{14mu}{for}\mspace{14mu}\left( {l_{k},i_{k + 1}} \right)}} \neq \left( {0,0} \right)}};}{{\omega_{00}^{2} = {{1\mspace{14mu}{if}\mspace{14mu}\left( {l_{k},i_{k + 1}} \right)} = {\left( {0,0} \right)\mspace{14mu}{and}{{C_{00i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1} + {\sum\limits_{p = {k + 2}}^{N}\; u_{i_{p}}^{p}}} \leq {0\mspace{14mu}{for}\mspace{14mu}{some}\mspace{14mu}\left( {i_{k + 2},\ldots\mspace{14mu},i_{N}} \right)}}}}};}{\omega_{00}^{2} = {{0\mspace{14mu}{if}\mspace{14mu}\left( {l_{k},i_{k + 1}} \right)} = {{{\left( {0,0} \right)\mspace{14mu}{and}C_{00i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} + {\sum\limits_{p = {k + 2}}^{N}\; u_{i_{p}}^{p}}} > {0\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu}{\left( {i_{k + 2},\ldots\mspace{14mu},i_{N}} \right).}\mspace{101mu}\left. \quad \right\rbrack\left. \quad \right\rbrack}}}}} & {(3.7)\;} \end{matrix}$ Then ω² γ Δ Φ_(N−k+1) γω^(N−k+1), ν^(N)Δ≧{circumflex over (Φ)}_(N−k+1)(ω² ν^(k+2) ν^(N)Δ ω^(N−k+1) γ Δ ω² (3.4), Φ_(N−k+1)γω^(N−k+1) ν^(k+2) ν^(N)Δ={circumflex over (Φ)}_(N−k+1)(ω² ν^(k+2) ν^(N)Δ and Φ_(N−k+1) (ν^(k+2) ν^(N)Δ {circumflex over (Φ)}_(N−k+1)γν^(k+2) ν^(N)Δ Proof: Let ω^(N−k+1) ω² Φ_(N−k+1)(ω^(N−k+1) ν^(k+2) ν^(N)Δ and {circumflex over (Φ)}_(N−k+1)(ω² ν^(k+2) ν^(N)Δ objective function values of (3.2) and (3.4), respectively. Direct verification shows that ω² (3.4) and Φ_(N−k+1)γω^(N−k+1) ν^(k+2)ν^(N)Δ≧{circumflex over (Φ)}_(N−k+1)(ω²ν^(k+2)ν^(N) remainder of the proof, assume that ω^(N−k+1) γΔ and construct ω² ω ω ^(N−k+1) by replacing ω^(N−k+1) γ Δ ω ^(N−k+1) ω Φ_(N−k+1)γ ^(ω) N−k+1ν^(k+2) ν^(N)Δ={circumflex over (Φ)}_(N−k+1)(ω² ν^(k+2) ν^(N)Δ≧Φ_(N=k+1)γω^(N−k+1); ν^(k+2) ν^(N)Δ ω^(N=k+1) inequality is in face an equality. This provides the theorem.

Theorem 4.1. Let w² be a feasible solution to the two-dimensional assignment problem (4.10) and define w^(N−k+1) by

$\begin{matrix} {{w_{l_{k}i_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1} = {{w_{l_{k}i_{k + 1}}^{2}\mspace{14mu}{if}\mspace{14mu}\left( {i_{k + 2},\ldots\mspace{14mu},i_{N}} \right)} = {{\left( {j_{k + 2},\ldots\mspace{14mu},j_{N}} \right)\mspace{14mu}{and}\mspace{14mu}\left( {l_{k},i_{k + 1}} \right)} \neq \left( {0,0} \right)}}}{w_{l_{k}i_{k + 1}i_{k + 2}\ldots\mspace{14mu} N}^{N - k + 1} = {{0\mspace{14mu}{if}\mspace{14mu}\left( {i_{k + 2},{\ldots\mspace{14mu} i_{N}}} \right)} \neq {\left( {j_{k + 2},\ldots\mspace{14mu},j_{N}} \right)\mspace{14mu}{and}\mspace{14mu}\left( {l_{k},i_{k + 1}} \right)} \neq \left( {0,0} \right)}}{{w_{00i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1} = {{{1\mspace{14mu}{if}\mspace{14mu} c_{00i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} + {\sum\limits_{p = {k + 2}}^{N}\; u_{i_{p}}^{p}}} \leq 0}},{w_{00i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1} = {{{0\mspace{14mu}{if}\mspace{14mu} c_{00i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} + {\sum\limits_{p = {k + 2}}^{N}\; u_{i_{p}}^{p}}} > 0.}}}} & (4.11) \end{matrix}$

Then w^(N−k)+1 is a feasible solution of the Lagrangian relaxed problem and Φ_(N−k+1)(w^(N−k+1);u^(k+2), . . . ,u^(N))={acute over (Φ)}_(−k−1)(w₂; u^(k+2), . . . ,u^(N)). If, in addition, w² is optimal for the two-dimensional problem, then w^(N−k+1) is an optimal solution of the relaxed problem and Φ_(N−k+1)(u^(k+2), . . . ,u^(N))={acute over (Φ)}_(−k+1)(u^(k+2), . . . ,u^(N)). Proof. Let w^(N−k+1) and w² be as in the hypotheses, and let Φ_(N−k+1)(w^(N−k+1);u^(k+2), . . . ,u^(N)) and {acute over (Φ)}_(n−k+1)(z²;u^(k+2), . . . ,u^(N)) denote the objective function values of (4.8) and (4.10), respectively. Direct verification shows that w^(N−k+1) satisfies the constraints in (4.8) and φ_(N−k+1)(w^(N−k+1);u^(k+2); . . . ,u^(N))={acute over (φ)}_(−k+1)(w²;u^(k+2), . . . ,u^(N)). For the remainder of the proof, assume that w² is optimal for (4.10). Let X^(N−k+1) satisfy the constraints in (4.8) and define

$\begin{matrix} {{x_{l_{k}i_{k + 1}}^{2} = {{\sum\limits_{i_{k + 2}{\ldots i}_{N}}{x_{l_{k}i_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}\mspace{14mu}{for}\mspace{14mu}\left( {l_{k},i_{k + 1}} \right)}} \neq \left( {0,0} \right)}},{x_{00}^{2} = {{1\mspace{14mu}{if}\mspace{14mu}\left( {l_{k},i_{k + 1}} \right)} = {{{\left( {0,0} \right)\mspace{14mu}{and}\mspace{14mu} c_{00i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} + {\sum\limits_{p = {k + 2}}^{N}\; u_{i_{p}}^{p}}} \leq {0\mspace{14mu}{for}\mspace{14mu}{some}\mspace{14mu}\left( {i_{k + 2},\ldots\mspace{14mu},i_{N}} \right)}}}},{x_{00}^{2} = {{0\mspace{14mu}{if}\mspace{14mu}\left( {l_{k},i_{k + 1}} \right)} = {{{\left( {0,0} \right)\mspace{14mu}{and}\mspace{14mu} c_{00i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} + {\sum\limits_{p = {k + 2}}^{N}\; u_{i_{p}}^{p}}} > {0\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu}{\left( {i_{k + 2},\ldots\mspace{14mu},i_{N}} \right).}}}}}} & (4.12) \end{matrix}$ Note that x² satisfies the constraints in (4.10) and

$\begin{matrix} {{\phi_{N - k + 1}\left( {{x^{N - k + 1};u^{k + 2}},\ldots\mspace{14mu},u^{N}} \right)} \geq {{\overset{\prime}{\phi}}_{{- k} + 1}\left( {{x^{2};u^{k + 2}},\ldots\mspace{14mu},u^{N}} \right)}} \\ {\geq {{\overset{\prime}{\phi}}_{N - k + 1}\left( {{w^{2};u^{k + 2}},\ldots\mspace{14mu},u^{N}} \right)}} \\ {= {\phi_{N - k + 1}\left( {{w^{N - k + 1};u^{k + 2}},\ldots\mspace{14mu},u^{N}} \right)}} \end{matrix}$ for any feasible solution x^(N−k+1) of the constraints (4.8). This implies w^(N−k+1) is an optimal solution of (4.8). Next, Φ_(N−k+1)(u^(k+2), . . . ,u^(N))={acute over (Φ)}_(N−k+1)(u^(k+2), . . . ,u^(N)) follows immediately from Φ_(N−k+1)(w^(N−k+1);u^(k+2), . . . ,u^(N))=Φ_(N−k+1)(w²;u^(k+2), . . . ,u^(N)) for an optimal solution w² of (4.10). With the exception of one equality being converted to an inequality, the following theorem is a converse of Theorem 4.1. Theorem 4.2. Let w^(N−k+1) be a feasible solution to problem (4.8) and define w² by

$\begin{matrix} {{{w_{l_{k}i_{k + 1}}^{2} = {{\sum\limits_{i_{k + 2}{\ldots i}_{N}}{w_{l_{k}i_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}\mspace{14mu}{for}\mspace{14mu}\left( {l_{k},i_{k + 1}} \right)}} \neq \left( {0,0} \right)}},{w_{00}^{2} = {{1\mspace{14mu}{if}\mspace{14mu}\left( {l_{k},i_{k + 1}} \right)} = {\left( {0,0} \right)\mspace{14mu}{and}}}}}\mspace{14mu}{{{C_{00i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1} + {\sum\limits_{p = {k + 2}}^{N}\; u_{i_{p}}^{p}}} \leq {0\mspace{14mu}{for}\mspace{14mu}{some}\mspace{14mu}\left( {i_{k + 2},\ldots\mspace{14mu},i_{N}} \right)}},{w_{00}^{2} = {{0\mspace{14mu}{if}\mspace{14mu}\left( {l_{k},i_{k + 1}} \right)} = {{{\left( {0,0} \right)\mspace{14mu}{and}\mspace{14mu} C_{00i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} + {\sum\limits_{p = {k + 2}}^{N}\; u_{i_{p}}^{p}}} > 0}}}}\mspace{14mu}{{for}\mspace{14mu}{all}\mspace{14mu}{\left( {i_{k + 2},\ldots\mspace{14mu},i_{N}} \right).}}} & (4.13) \end{matrix}$ Then w² a feasible solution of the problem (4.10) and φ_(N−k+1)(w^(N−k+1);w^(k+2), . . . ,u^(N))≧{acute over (φ)}_(N−k+1)(w²;u^(k+2), . . . ,u^(N)).

If, in addition, whu N−k+1 is optimal for (4.8), then w² is an optimal solution of (4.10), φ_(N−k+1)(w^(N−k+1);u^(k+2), . . . ,u^(N))={acute over (φ)}_(N−k+1)(w²;u^(k+2), . . . ,u^(N)) and Φ_(N−k+1)(u^(k+2), . . . ,u^(N))={acute over (Φ)}_(N−k+1)(u^(k+2), . . . ,u^(N)). Proof: Let w^(N−k+1) and w² be as in the hypotheses, and let φ_(N−k+1)(w^(N−k+1);u^(k+2), . . . ,u^(N)) and {acute over (φ)}_(N−k+1)(w²;u^(k+2), . . . ,u^(N)) denote the objective function values of (4.8) and (4.10), respectively. Direct verification shows that w² satisfies the constraints in (4.10) and φ_(N−k+1)(w^(N−k+1);u^(k+2), . . . ,u^(N))≧{acute over (φ)}_(N−k+1)(w²;u^(k+2), . . . ,u^(N)).

For the remainder of the proof, assume that w^(N−k+1) is optimal for (4.8) and construct w² as above. Using Theorem 4.1, construct w ^(N−k+1) by replacing w^(N−k+1) in (4.11) with w ^(N−k+1). Then, from that theorem and

$\begin{matrix} {{\phi_{N - k + 1}\left( {{{\overset{\_}{w}}^{N - k + 1};u^{k + 2}},\ldots\mspace{14mu},u^{N}} \right)} = {{\overset{\prime}{\phi}}_{N - k + 1}\left( {{w^{2};u^{k + 2}},\ldots\mspace{14mu},u^{N}} \right)}} \\ {\leq {{\phi_{N - k + 1}\left( {{w^{N - k + 1};u^{k + 2}},\ldots\mspace{14mu},u^{N}} \right)}.}} \end{matrix}$ Optimality of w^(N−k+1) then implies the last inequality is in fact an equality. This proves the theorem.

The Nonsmooth Optimization Problem. Next, we address the nonsmooth properties of the function Φ_(N−k+1)γν^(k+2) ν^(N)Δ Φ_(N−k+1)(u^(k+2), . . . ,u^(N)) as explained in the following theorem.

Theorem 3.4 4.3. (G. L. Nemhauser and L. A. Wolsey. Interger and Combinatorial Optimization, Section II.3.6. Wiley, New York, N.Y., 1988). Let Φ_(N−k+1) γΔΦ_(N−k+1)γ^(N−k+1)) Φ_(N−k+1) be as defined in (4.7), let V_(N−k+1)(z^(N−k+1)) be the object objective function value of the (N−k+1)-dimensional assignment problem in equation (3.1) (4.7) corresponding to a feasible solution Z^(N−k+1) of the constraints in (3.1) (4.7), and let z ^(N−k+1) be an optimal solution of (3.1) (4.7). Then, Φ_(N−k+1)γν^(k+2)ν^(N)Δ Φ_(N−k+1)(u^(k+2), . . . ,u^(N)) is piecewise affine, concave and continuous in {ν^(k+2) ν^(N) {u^(k+2), . . . ,u^(N)}and Φ_(N−k+1)(u^(k+2), . . . ,u^(N))≦V_(N−k+I)(^(N−k+1))≦V_(N−k+1)(^(N−k+1)). (4.14) Most of the algorithms for nonsmooth optimization are based on generalized gradients, called subgradients, given by the following definition for a concave function. Definition 3.5. 4.1. At u=(u^(k+2), . . . ,u^(N)) the set δΦ_(N−k+1)(u) is called a subdifferential of Φ_(N−k+1) and is defined for the concave function Φ_(N−k+1)(u) by ∂Φ_(N−k+1)(u)={gεR^(M) _(k+2) ₊₁ x . . . xR^(M) _(N+1) |Φ_(N−k+1)(ω)−Φ_(N−k+1(u)≦g) ^(T)(ω−u) for all ΩεR^(M) _(k+2) ₁ x . . . xR^(M) _(N+1)) . where g_(o)=ω_(o) ^(p)=0 are all permanently fixed. (Recall that these were used for notational conveience only.) A vector geε∂Φ_(N−k+1) is called a subgradient.

There is a large literature on such problems, e.g., (J.-B. Hiriart-Urruty and C. Lemarechal. Concex Analysis and Minimization Algorithms I& II. Springer-Verlag, Berlin, 1993; K.C. Kiwiel. Methods of descent for nondifferentiable optimization. In Lecture Notes in Mathematics 1133, A. Dold and B. Eckmann, eds. Springer-Verlag, Berlin, 1985; C. Lemarechal and R. Mifflin. Nonsmooth Optimization. Pergamon Press, Oxford, UK, 1978; B. T. Polyak. Subgradient method: A survey of Soviet research. In C. Lemarechal and R. Mifflin, editors, Nonsmooth Optimization, pages 5-29, N.Y., 1978. Pergamon Press.; H. Schramm and J. Zowe. A version of the bundle idea for minimizing a nonsmooth function: Conceptual idea, convergence analysis, numerical results. SIAM Journal on Optimization, 2, No.1:121-152, February, 1992; N. Z. Shor. Minimization Methods for Non-Differentiable Functions. Springer-Verlag, New York, 1985; P. Wolfe. A method of conjugate subgradients for minimizing nondifferentiable functions. Mathematical Programming Study, 3:145-173, 1975), and we have tried a variety of methods including subgradient methods (N. Z. Shor. Minimization Methods for Non-Differentiable Functions. Springer-Verlag, New York, 1985) and bundle methods (J.-B. Hiriart-Urruty and C. Lemarechal. Convex Analysis and Minimization Algorithms I& II. Springer-Verlag, Berlin, 1993; K. C. Kiwiel. Methods of descent for nondifferentiable optimization. In Lecture Notes in Mathematics 1133, A. Dold and B. Eckmann, eds, Springer-Verlag, Berlin, 1985). Of these, we have determined that for a fixed number of nonsmooth iterations (e.g., twenty), the bundle trust method of Schramm and Zowe (H. Schramm and J. Zowe. A version of the bundle idea for minimizing a nonsmooth function: Conceptual idea, convergence analysis, numerical results. SIAM Journal on Optimization, 2, No. 1:121-152, February, 1992) provides excellent quality solutions with the fewest number of function and subgradient evaluations, and is therefore our currently recommended method.

An Algorithm for Computing Φ_(N−k+1) and a Subgradient. Most current software for maximizing the concave function Φ_(N−k+1) requires the value of the function and a subgradient at a point (u^(k+2), . . . ,u^(N)). Based on the previous two sections, this can be summarized as follows.

1. Starting with problem (3.1) (4.7), form the relaxed problem (3.2) (4.8);

2. To solve (3.2) (4.8) optimally, defined the two dimensional two-dimensional assignment problem (3.4) (4.10) via the transformation (3.3) (4.0);

3. Solve the two-dimensional problem (3.4) (4.10) optimally;

4. Reconstruct the optimal solution, say ŵ^(N−k+1), of (3.2) (4.8) via equation (3.5) (4.9) as in Theorem 3.1 4.1;

5. Compute the function

$\begin{matrix} {{{\Phi_{N - k + 1}\left( {u^{k + 2},\ldots\mspace{14mu},u^{N}} \right)} \equiv {\phi_{N - k + 1}\left( {{{\hat{w}}^{N - k + 1};u^{k + 2}},\ldots\mspace{14mu},u^{N}} \right)} \equiv {{\sum\limits_{{l_{k}i_{k + 1}},{\ldots\mspace{14mu} i_{N}}}\;{c_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}^{N - k + 1}{\hat{w}}_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}^{N - k + 1}}} + {\sum\limits_{p = {k + 2}}^{N}\;{\sum\limits_{i_{p} = 0}^{M_{p}}{u_{i_{p}}^{p}\left\lbrack {{\sum\limits_{l_{k}i_{k + 1}\ldots\mspace{14mu} l_{p - 1}i_{p + 1}\ldots\mspace{14mu} i_{N}}{\hat{w}}_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} - 1} \right\rbrack}}}}};} & {\left\lbrack \left\lbrack (3.10) \right\rbrack \right\rbrack(4.16)} \end{matrix}$

6. A subgradient is given by

$\begin{matrix} {{g_{i_{p}}^{p} = {\frac{\partial{\Phi_{N - k + 1}\left( {u^{k + 2},\ldots\mspace{14mu},u^{N}} \right)}}{\partial u_{i_{p}}^{p}} = \mspace{214mu}\left\lbrack {{\sum\limits_{l_{k}i_{k + 1}\ldots\mspace{14mu} l_{p - 1}i_{p + 1}\ldots\mspace{14mu} i_{N}}{\hat{w}}_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} - 1} \right\rbrack}}\text{}{{{{for}\mspace{14mu} i_{p}} = 1},\ldots\mspace{14mu},{{M_{p}\mspace{14mu}{and}\mspace{14mu} p} = {k + 2}},\ldots\mspace{14mu},{N.}}} & {\left. \left. {\left\lbrack \lbrack \right.(3.11)} \right\rbrack \right\rbrack\;(4.17)} \end{matrix}$ Several remarks are in order. First, the optimal solution of the minimiation minimization problem (3.2) (4.8) is required before one can remove the minimum sign, replace z^(N−k+1) by the minimizer ŵ^(N−k+1) and differentiate with respect to u_(i) _(p) ^(p) to obtain a subgradient as in (3.11) (4.17). If ŵ^(N−k+1) is an approximate solution of (3.2) (4.8), then the subgradient and function values are only approximate with accruacy accuracy depending on that of ŵ^(N−k+1). Although one can evaluate the sums in (3.10) (4.16) and (3.11) (4.17) in a straightforward straight forward manner, another method is based on the following observation. Given the multiplier vector u_(k+2), . . . ,u_(N)), let {(l_(k)(l_(k+1)),i_(k+1)(l_(k+1))}_(l) _(k+1) ^(L) ^(k+1) =0, be an enumeration of indices {l_(k),i_(k+1)} of w² (or the first 2 indices of w^(N−k+1) constructed in equation 3.5 4.9)) such that)) w_(i) _(k) _((l) _(k+1) _(),i) _(k+1) _((l) _(k+1) ₎ ²=1 for (l_(k)(l_(k+1)),i_(k+1)(l_(k+1)))≠(0.0) and (l_(k)(l_(k+1)), i_(k+1)(l_(k+1)))=(0,0) for l_(k+1)=0 regardless of whether w_(oo) ²=1 or not. (The latter can only improve the recovered feasible solution.) The evaluation of the bracketed quantity in (3.11) (4.17) for a specific i_(p)>=1 and p=k+2, . . . ,N is one minus the number of times the index value i_(p) appears in the (p−k+1)^(th) position of the (N−k+1)tuple in the list ({l_(k)(l_(k+1)),i_(k+1)(l_(k+1)), j_(k+2), . . . ,j_(N))}_(l) _(k+1) ^(L) ^(k+1) =0.

Finally, we have presented a method for computing one subgradient. If ŵ^(N−k+1) is the unique optimal solution of (3.2) (4.8), then Φ_(N−k+1)(u) is differentiable at u, g is just the gradient at u, and the subdifferential δΦ_(N−k+1)(u)={g} is a singleton. If, corresponding to u,ŵ^(N−k+1) is not unique, then there are finitely many such solutions, say {ŵ^(N−k+1)(1), . . . ,ŵ^(N−k+1)(m)} with respective subgradients {g(1), . . . ,g(m)}, the subdifferential δΦ(u)is the convex hull of {g(1) g(m)} (J. L. Goffin. On convergence rates of subgradient optimization methods, mathematical programming. Mathematical Programming, 13:329-347, 1977). These nonunique solutions arise in two ways. First, if the optimal solution of the two dimensional two-dimensional assignment problem is not unique, then one can general generate all optimal solutions of the two dimensional two-dimensional assignment problem (3.4) (4.10). Corresponding to each of these solutions and to each index pair (l_(k),i_(k+1))in each solution, compute the indices (j_(k+2), . . . ,j_(N)) in (3.3) (4.9). If these j's are not unique, then we can enumerate all the possible optimal solutions ŵ^(N−k+1) of (3.2) (4.8). Given these solutions, one can then compute the corresponding subgradients from (3.11) (4.17).

In most nonsmooth optimization algorithms, one uses an epsilon-subdifferential ε-subdifferential.

Definition 3.x 4.2. At u=(u^(k+2), . . . ,u^(N)) the set δ_(ε)Φ_(N−k+1)(u) is called an epsilon subdifferential ε-subdifferential of Φ_(N−k+1) and is defined for the concave funtion Φ_(N−k+1)(u) by ∂Φ_(N−k+1)(u)={gεR^(M) _(k+2) ₊₁x . . . xR^(M) _(N+1) |1 _(N−k+1)(ω)−Φ_(N−k+i)(u)≦g^(T)(ω−u)+ε for all ωR^(M) _(k+1) }.   (3.9) where g_(o) ^(p)=ω_(o) ^(p)=u_(o) ^(p)=0 are all permanently fixed. (Recall that these were used for notational convenicence only.) A vector gε∂Φ_(N−k+1)(u) is called a subgradients an ε-subgradient.

HOW DO YOU COMPUTE gε∂Φ_(N−k+i)(u)

IV.3.3 The Recovery Procedure.

The next objective is to explain a recovery procedure, i.e., given a feasible (optimal or suboptimal) solution ω²γΔγω^(N−k+1)γΔ w² of (4.10) (or w^(N−k+1) of (4.8) constructed via Theorem 3.1 4.1), generate a feasible solution z^(N−k+1) of equation (3.1) which is close to ω² w² in a sense to be specified. We first assume that no variables in (3.1) (4.7) are presassigned preassigned to zero; this assumption will be removed shortly. The difficulty with the solution ω^(N−k+1) ω w^(N−k+1) it need not satisfy the last (N−k−1) sets of constraints in (3.1) (4.7). (Note, however, that if ω² (3.4) w² is an optimal solution (4.10) and ω^(N−k+1) w^(N−k+1), as constructed in Theorem 4.1, satisfies the to relaxed constraints, then ω^(N−k+1)γΔΔω w^(N−k+1) is optimal for (4.7.) The recovery proceudre described here is designed to preserve the 0-1 character of the solution ω²γΔ w² of (4.10) as far as possible: If ω_(i) _(k) _(i) _(i+1) ²=1 and l_(k)≠0 or i_(k+1)≠0, w² _(l) _(k) _(i) _(k+1) −1 and l_(k)≠0 or i_(k+1)≠0 the corresponding feasible solution z^(N−k+1) of (3.1) (4.7) is construed so that z_(i) ₀ . . . i_(p)o . . . o^(N−k+1)=1 for some (i_(k+2), . . . i_(N)). By this reasoning, variables of the form z_(OOi) _(k+2) _(. . . i) _(N) ^(N−k+1) can be assigned a value of one in the recovery problem only if ω_(oo) ²=1. However, variables z_(ooi) _(k+2) _(. . . i) _(N) ^(N−k+1) will be treated differently in the recovery procedure in that they can be assigned either zero or one independent of the value of ω_(oo) ² w₀₀ ². This increases the feasible set of the recovery problem, leading to a potentially better solution.

Let {(l_(k)(l_(k+1)),i_(k+1)(l_(k+j))}i _(k+1) ^(L) ^(k+1) −0 be an enumeration of indices {l_(k), i_(k+1)} of ω²γω^(N−k+1) w² (or the first 2 indices of w^(N−k+1) constructed in equation (5) (4.11)) such that ω_(i) _(k) _((l) _(k+1) _(),i) _(k+1) _((l) _(k+1) ₎ ²=1 w² _(l) _(k) _((l) _(k+1) _(),i) _(k+1) _((l) _(k+1) ₎=1 for (l_(k)(l_(k+1)),i_(k+1)(l_(k+1)))≠(0,0) and (l_(k)(l_(k+1)), i_(k+1)(l_(k+1)))=(0,0) for l_(k+1)=0 regardless of whether ω_(oo) ²=1 w² _(oo)=1 or not. To define the N−k dimensional (N−k)-dimensional assignment problem that resores restores feasibility, let

$\begin{matrix} {{c_{l_{2}i_{3}\ldots\mspace{14mu} i_{N}}^{N - 1} = {{c_{{l_{i}{(l_{2})}}{i_{2}{(l_{2})}}i_{3}\ldots\mspace{14mu} i_{N}}^{N}\mspace{14mu}{for}\mspace{14mu} k} = 1}}\begin{matrix} {c_{l_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k} = c_{{l_{k}{(l_{k + 1})}}{i_{k + 1}{(l_{k + 1})}}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} \\ {= c_{{i_{1}{(l_{{2\ldots\mspace{14mu} k} + 1})}}{i_{2}{(l_{{2\ldots\mspace{14mu} k} + 1})}}{i_{3}{(l_{{3\ldots\mspace{14mu} k} + 1})}}\ldots\mspace{14mu}{i_{k}{(l_{{k\; k} + 1})}}{i_{k + 1}{(l_{k + 1})}}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N}} \\ {{{{{for}\mspace{14mu} k} \geq {2\mspace{14mu}{and}\mspace{14mu} l_{k}}} = 0},\ldots\mspace{14mu},L_{k},} \end{matrix}} & {\left\lbrack \left\lbrack (3.12) \right\rbrack \right\rbrack\;(4.18)} \end{matrix}$ where l_(m . . . k+1)=l_(m)ol_(m+1)o . . . ol_(k)(l_(k+1))=l_(m)(l_(m 1)( . . . (l_(l)(l_(k+1))) . . . ))(3.13)  (4.19) for m=2,k+1 and where o “o” denotes function composition. For example l₂₃=l₂(l₃) and l_(234=l) ₂o l₃(l₄)=l₂(l₃(l₄)).

Then the (N−k)-dimensional assignment problem that restores feasibility is

                [[(3.14)]](4.20) $\begin{matrix} {{Minimize}{\mspace{14mu}}{\sum\limits_{l_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}{c_{l_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k}z_{l_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k}}}} \\ {{{{Subject}\mspace{14mu}{To}{\mspace{14mu}}{\sum\limits_{i_{k + 2}\ldots\mspace{14mu} i_{N}}z_{l_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k}}} = 1},{l_{k + 1} = 1},\ldots\mspace{14mu},L_{k + 1},} \\ {{{\sum\limits_{i_{k + 1}i_{k + 3}\ldots\mspace{14mu} i_{N}}z_{l_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k}} = 1},{i_{k + 2} = 1},\ldots\mspace{14mu},M_{k + 2},} \\ {{\sum\limits_{l_{k}i_{k + 1}\ldots\mspace{14mu} l_{p - 1}i_{p + 1}\ldots\mspace{14mu} i_{N}}z_{l_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k}} = 1} \\ {{{{for}\mspace{14mu} i_{p}} = 1},\ldots\mspace{14mu},{{M_{p}\mspace{14mu}{and}\mspace{14mu} p} = {k + 3}},\ldots\mspace{14mu},{N - 1},} \\ {{{\sum\limits_{l_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N - 1}}z_{l_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k}} = 1},{i_{N} = 1},\ldots\mspace{14mu},M_{N},} \\ {{z_{l_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} l_{k + 1}}},i_{k + 2},\ldots\mspace{14mu},{i_{N}.}} \end{matrix}$ Let Y be an optimal or feasible solution to this N−k dimensional (N−k)-dimensional assignment problem. The recovered feasible solution z^(N) is defined by

$\begin{matrix} {z_{i_{1}i_{2}i_{3}\ldots\mspace{14mu} i_{N}}^{N} = \left\{ \begin{matrix} {1,} & {{{{if}\mspace{14mu} i_{1}} = {i_{1}\left( l_{{2\ldots\mspace{14mu} k} + 1} \right)}},{i_{2} = {i_{2}\left( l_{{2\ldots\mspace{14mu} k} + 1} \right)}},} \\ \; & {\mspace{31mu}{{i_{3} = {i_{3}\left( l_{{2\ldots\mspace{14mu} k} + 1} \right)}},\ldots\mspace{14mu},{i_{k} = {i_{k}\left( l_{{kk} + 1} \right)}},}} \\ \; & {\mspace{31mu}{{i_{k + 1} = {{{i_{k + 1}\left( l_{k + 1} \right)}\mspace{14mu}{and}\mspace{14mu} Y_{l_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}} = 1}},}} \\ {0,} & {{otherwise}.} \end{matrix} \right.} & {\left\lbrack \left\lbrack (3.14) \right\rbrack \right\rbrack\;(4.21)} \end{matrix}$ Said in a different way, the recovered reasible feasible solution z^(N) corresponding to the multiplier set {u^(k+2), . . . ,u^(N)} is then defined by

$z_{{i_{1}{(l_{2 - k + 1})}}{i_{2}{(l_{2 - k + 1})}}{i_{3}{(l_{3 - k + 1})}}\ldots\mspace{14mu}{i_{k}{(l_{{k\; k} + 1})}}{i_{k + 1}{(l_{k + 1})}}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N} = \left\{ \begin{matrix} {1,} & {{{{if}\mspace{14mu} Y_{l_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}} = 1},} \\ {0,} & {{otherwise}.} \end{matrix} \right.$ where l_(m . . . k+1) is defined in (3.13) (4.19) and o “o” denotes function composition.

The next objective is to remove the asumption assumption that all cost coefficients are defined and all zero-one variables are free to be assigned. We first note that the above construction of a reduced dimension assignment problem (3.14) (4.20) is valid as long as all cost coefficients c^(N−k) are defined and all zero-one variables in z^(N−k) are free to be assigned. Modifications are necessary for sparse problems. If the cost coefficient c_(l) _(k) _((l) _(k+1) _() i) _(k+1) _((l) _(k+1) _()i) _(k+2) _(. . . i) _(N) ^(N−k+1) is well-defined and the zero-one variable Z_(i) _(k) _((l) _(k+1) _()i) _(k+1) _((l) _(k+1) _()i) _(k+2 . . . i) _(N) ^(N−k+1) is free to be assigned to zero or one, then define c_(l) _(k+1) _(i) _(k+2) _(. . . l) _(N) ^(N−k)=c_(l) _(k) _((l) _(k+1) _()l) _(k+1) _((l) _(k+1) _()l) _(k+2) _(. . . i) _(N) ^(N−k+1) as in (3.12) (4.18) with z_(l) _(k+1) _(i) _(k+2) _(. . . l) _(N) ^(N−k) being free to be assigned. Otherwise, z_(i) _(k+1) _(l) _(k+2) _(. . . l) _(N) ^(N−k) is preassigned to zero or the corresponding arc is not allowed in the feasible set of arcs. To ensure that a feasible solution exists, we now only need ensure that the variables z_(i) _(k+1) _(o o) ^(N−k) are free to be assigned for l_(k+1)=0.1, . . . ,L_(k+1) with the corresponding cost coefficients being well-defined. (Recall that all variables of the form z_(i) _(k) _(o . . . o) ^(N−k+1) and z_(o o) _(p) _(o . . . o) ^(N−k+1) are free (to be assigned) and all coefficients of the form c_(l) _(k) _(o . . . o) ^(N−k+1) and c_(o . . . oi) _(p) _(O) ^(N−k+1) are well-defined for l_(k)=0, . . . ,L_(k) and i_(p)=0, . . . ,M_(p) for p=k+1, . . . ,N.) This is accomplished as follows: If the cost coefficient c_(k) _(k) _((l) _(k+1) _()i) _(k+1) _((l) _(k+1) _()o . . . o) ^(N−k+1) is well-defined and z_(l) _(k) _((l) _(k+1) _()i) _(k+1) _((l) _(k+1) _()o . . . o) ^(N−k+1) is free, then define c_(i) _(k+1) _(o . . . o) ^(N−k)=c_(l) _(k) _((l) _(k+1) _()i) _(k+1) _((l) _(k+1) _()o . . . o) ^(N−k+1) with z_(i) _(k+1) _(o . . . o) ^(N−k) being free. Otherwise, since all variables of the form z_(l) _(k) _(o . . . o) ^(N−k+1) and z_(ol) _(k+1) _(o . . . o) ^(N−k+1) are free to be assigned with the corresponding costs being well-defined, set c_(l) _(k+1) _(o . . . o) ^(N−k)=c_(l) _(k) _((l) _(k+1) _()oo . . . o) ^(N−k)+c_(ol) _(k+1) _((l) _(k+1) _()o . . . o) ^(N−k+1) where the first term is omitted if l_(k)(I_(k+1))=0 and the second, if i_(k+1)(I_(k+1))=0. For l_(k)(l_(k+1))=0 and i_(k+1)(l_(k+1))=0, define c_(o . . . o) ^(N−k)=c_(o . . . o) ^(N−k+1).

IV.3.4. The last step k=N−2.

The description of the algorithm ends with k=N+2. The resulting recovery problem defined in (3.14) (4.20) with k=N−2 is

$\begin{matrix} {{\Phi_{2} \equiv {{Minimize}\mspace{14mu}{\sum\limits_{l_{N - 1} = 0}^{L_{N - 1}}\;{\sum\limits_{i_{N} = 0}^{M_{N}}{c_{l_{N - 1}i_{N}}^{2}z_{l_{N - 1}i_{N}}^{2}}}}} \equiv {V_{2}\left( z^{2} \right)}}{{{{Subject}\mspace{14mu}{To}\mspace{14mu}{\sum\limits_{i_{N} = 0}^{M_{N}}z_{l_{N - 1}i_{N}}^{2}}} = 1},{1_{N - 1} = 1},\ldots\mspace{14mu},L_{N - 1},\mspace{124mu}{{\sum\limits_{l_{N - 1} = 0}^{L_{N - 1}}z_{l_{N - 1}i_{N}}^{2}} = 1},{1_{N} = 1},\ldots\mspace{14mu},M_{N},\mspace{50mu}{z_{l_{N - 1}i_{N}}^{2} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} l_{N - 1}}},{i_{N}.}}} & {\;(4.22)} \end{matrix}$ Let Y be an optimal or feasible solution to this 2-dimensional two-dimensional assignment problem. The recovered feasible solution Z^(N) is defined by

$\begin{matrix} {{\hat{z}}_{i_{1}i_{2}i_{3}\ldots\mspace{14mu} i_{N}}^{N} = \left\{ \begin{matrix} {1,} & {{{{if}\mspace{14mu} i_{1}} = {i_{1}\left( l_{{2\ldots\mspace{14mu} N} - 1} \right)}},{i_{2} = {i_{2}\left( l_{{2\ldots\mspace{11mu} N} - 1} \right)}},} \\ \; & {{i_{3} = {i_{3}\left( l_{{3\ldots\mspace{14mu} N} - 1} \right)}},\ldots\mspace{14mu},\;{i_{N - 2} = {i_{N - 2}\left( l_{N - {2N} - 1} \right)}},} \\ \; & {i_{N - 1} = {{{i_{N - 1}\left( l_{N - 1} \right)}\mspace{14mu}{and}\mspace{14mu} Y_{l_{N - 1}i_{N}}} = 1}} \\ \; & {{{{or}\mspace{14mu}{if}\mspace{14mu}\left( {l_{N - 1},i_{N}} \right)} = \left( {0,0} \right)},} \\ {0,} & {{otherwise}.} \end{matrix} \right.} & {\left\lbrack \left\lbrack (3.18) \right\rbrack \right\rbrack\;(4.23)} \end{matrix}$ Said in a different way, the recoered feasible solution z^(N) is then defnied by

            (4.24)[[(3.19)]] ${\hat{z}}_{{i_{1}{(l_{{2\ldots\mspace{14mu} N} - 1})}}{i_{2}{(l_{{2\ldots\mspace{14mu} N} - 1})}}{i_{3}{(l_{{2\ldots\mspace{14mu} N} - 1})}}\ldots\mspace{14mu}{i_{N - 2}{(l_{N - {2N} - 1})}}{i_{N - 1}{(l_{N - 1})}}i_{N}} = \left\{ \begin{matrix} {1,} & {{{{if}\mspace{14mu} Y_{l_{N - 1}i_{N}}} = 1},} \\ {0,} & {{otherwise}.} \end{matrix} \right.$ where l_(m . . . N−1) is defined in (3.13) (4.19) and o “o” denotes function composition. To complete the description, let {(l_(n−1)(l_(N)),i_(N) (l_(N))}_(l) _(N) ^(L) ^(N) =0 be an enumeration of indices {l_(N−1),i_(N)} of Y such that Y_(l) _(N−1) _((l) _(N) _(),i) _(N) _((l) _(N) ₎=1 for (l_(N−1)(l_(N)),i_(N)(l_(N)))≠(0,0) and (l_(N−1)(l_(N)), i_(N)(l_(N))=(0,0) for l_(N)=0 regardless of whether Y_(oo)=1 or not. Then the recovered feasible solution can be written as

$\begin{matrix} {{\hat{z}}_{i_{1}i_{2}i_{3}\ldots\mspace{14mu} i_{N}}^{N} = \left\{ \begin{matrix} {1,} & {{{{if}\mspace{14mu} i_{1}} = {i_{1}\left( l_{2\ldots\mspace{14mu} N} \right)}},{i_{2} = {i_{2}\left( l_{2\ldots\mspace{11mu} N} \right)}},{i_{3} = {i_{3}\left( l_{3\ldots\mspace{14mu} N} \right)}},\ldots\mspace{14mu},} \\ \; & {{i_{N - 1} = {i_{N - 1}\left( l_{N - {1N}} \right)}},{{i_{N} = {i_{N}\left( l_{N} \right)}};}} \\ {0,} & {{otherwise}.} \end{matrix} \right.} & (4.25) \end{matrix}$

IV.3.5. The Upper and Lower BoundBounds. The upper bound on the feasible solution is given by

$\begin{matrix} {{V_{N}\left( {\hat{z}}^{N} \right)} = {\sum\limits_{i_{1}\ldots\mspace{14mu} i_{N}}\;{c_{i_{1}\ldots\mspace{14mu} i_{N}}^{N}{\hat{z}}_{i_{1}\ldots\mspace{14mu} i_{N}}^{N}}}} & \left. {\left. \left. {\left( \left\lbrack \lbrack \right. \right.3.21} \right\rbrack \right\rbrack\; 4.26} \right) \end{matrix}$ and the lower by Φ_(N)γ³ . . . ,u^(N)) for any multiplier value (u³, . . . , u^(N)). In particular, we have Φ_(N)(u³, . . . ,u^(N))≦Φ_(N)(ū³, . . . ,ū^(N))≦V_(N)( z ^(N))≦V_(N)({circumflex over (z)}^(N))   (3.22) (4.27) where (u³, . . . ,u^(N)) is any multiplier value, (⁻³ . . . ,^(−N)Δ maximizer of Φ_(N)γ³ . . . , u^(N)), ^(−N) multidimensional assignment problem (3.1) (4.7) and {circumflex over (z)}^(N) is the recovered feasible solution defined by (3.20) (4.25). Finally, we conclude with the observation that V_(N)({circumflex over (z)})=V₂(Y) where Y is the optimal solution of (3.17) (4.23) used in the construction of {circumflex over (z)} in equations (3.18) (4.24)-(3.20) (4.26).

IV.3.6. Reuse of Multipliers.

Since the most computationally expensive part of the algorithm occurs in the maximization of Φ_(N−k+1) starts or multipliers close to the optimal are fundamentally important for real-time speed. The purpose of this section is to demonstrate that the multiplier set obtained at stage k≧1 provide good starting values for those obtained at step k+1. Theorem 3.xx 4.4. Let (u³, . . . ,u^(N)) denote a multiplier set obtained in the maximum maximization of Φ_(N)γγ³ . . . ,u^(N)). Then this multiplier set satisfies the string of inequalities Φ_(N)(u³, . . . ,u^(N))≦Φ_(N−1)(u⁴, . . . u⁵)≦ . . . ≦Φ₃(u^(N))≦Φ₂≦V_(N)({circumflex over (z)}),   (4.28) where after the first step in the maximization of Φ_(N) multipliers are not changed in the remaining steps. Furthermore, to improve this inequiality, let (u^(2+kN−k+1), . . . ,u^(N,N−k+1)) denote a maximizer of Φ_(N−k+1)(u^(k+2), . . . ,u^(N)). Then we have

$\begin{matrix} \begin{matrix} {{\Phi_{N - k + 1}\left( {u^{k + 2},\ldots\mspace{11mu},u^{N}} \right)} \leq {\Phi_{N - k + 1}\left( {u^{{2 + k},{N - k + 1}},\ldots\mspace{11mu},} \right.}} \\ \left. u^{N,{N - k + 1}} \right) \\ {\leq {\Phi_{N - k}\left( {u^{{3 + k},{N - k + 1}},\ldots\mspace{14mu},u^{N,{N - k + 1}}} \right)}} \\ {\leq {\Phi_{N - k}\left( {u^{{3 + k},{N - k}},\ldots\mspace{14mu},u^{N,{N - k}}} \right)}} \\ {\leq \ldots\mspace{14mu} \leq {\Phi_{3}\left( u^{N,3} \right)} \leq \Phi_{2} \leq {{V_{N}\left( \hat{z} \right)}.}} \end{matrix} & {(4.29)\left\lbrack \left\lbrack \left( {3.{xxx}} \right) \right\rbrack \right\rbrack} \end{matrix}$

Inequalities depend on solution of 2d assignment problem.

Proof: Suppose we have a value of the multipliers (u^(k+2), . . . ,u^(N)) obtains in the maximization of

$\begin{matrix} {{{\Phi_{N - k + 1}\left( {u^{k + 2},\ldots\mspace{11mu},u^{N}} \right)} \equiv {{Minimize}\mspace{14mu}{\phi_{N - k + 1}\left( {{z^{N - k + 1};u^{k + 2}},\ldots\mspace{14mu},u^{N}} \right)}}}{{{{S{ubject}}\mspace{14mu}{To}\mspace{14mu}{\sum\limits_{i_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}z_{l_{k}i_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}}} = 1},{l_{k} = 1},{\ldots\mspace{14mu} L_{k}},\mspace{124mu}{{\sum\limits_{l_{k}i_{k + 2}\ldots\mspace{14mu} i_{N}}z_{l_{k}i_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} = 1},{i_{k + 1} = 1},\ldots\mspace{14mu},M_{k + 1},}} & (4.30) \end{matrix}$ where

$\begin{matrix} {{\Phi_{N - k + 1}\left( {{z^{N - k + 1};u^{k + 2}},\ldots\mspace{14mu},u^{N}} \right)} = {{{\sum\limits_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}{c_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}^{N - k + 1}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}^{N - k + 1}}} + {\sum\limits_{p = {k + 2}}^{N}\;{\sum\limits_{i_{p} = 0}^{M_{p}}\left\lbrack {{\sum\limits_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{p - 1}i_{p + 1}\ldots\mspace{14mu} i_{N}}z_{l_{k}i_{k + 1}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} - 1} \right\rbrack}}} = {{\sum\limits_{l_{k}i_{k + 1}\ldots\mspace{11mu} i_{N}}{\left\lbrack {c_{l_{k}i_{k + 1}\ldots\mspace{11mu} i_{N}}^{N - k + 1} + {\sum\limits_{p = {k + 2}}^{N}\; u_{i_{p}}^{p}}} \right\rbrack z_{l_{k}i_{k + 1}\ldots\mspace{11mu} i_{N}}^{N - k + 1}}} - {\sum\limits_{p = {k + 2}}^{N}\;{\sum\limits_{i_{p} = 0}^{M_{p}}u_{i_{p}}^{p}}}}}} & {\left\lbrack \left\lbrack \left( {3.{xx}} \right) \right\rbrack \right\rbrack(4.31)} \end{matrix}$ These need not be the maximizer; however, we do assume that we have solved the above minimization problem optimally to evaluate Φ_(N−k+1)(u^(k+2), . . . ,u^(N)). Just as in the definition of the earlier recovery problem disussed earlier, let {(l_(k)(l_(k+1)),i_(k+1) {(l_(k+1))}l _(k+1) ^(L) ^(k+1) =0 be an enumeration of indices {l_(k),i_(k+1)) of the optimal solution w² of problem (3.4) (4.10) (or the first 2 indices of the solution w^(N=k+1) w^(N−k+1) of the relaxed problem (3.2) (4.8) constructed in equation (3.5) (4.11)) such that w_(l) _(k) _((l) _(k+1) _()i) _(k+1) _((l) _(k+1) ₎ ²=1 for (l_(k)(l_(k+1)),i_(k+1)(l_(k+1)))≠(0,0) and (l_(k)(l_(k+1)),i_(k+1)(l_(k+1)))=(0,0) for l_(k+1)=0 regardless of whether w_(oo) ²=1 or not.

Then, the final value of the objective function can be expressed as

$\begin{matrix} {{\Phi_{N - k + 1}\left( {u^{k + 2},\ldots\mspace{14mu},u_{N}} \right)} \equiv \begin{matrix} {{Minimize}\mspace{14mu}{\phi_{N - k + 1}\left( {{z^{N - k + 1};u^{k + 2}},\ldots\mspace{14mu},u^{N}} \right)}} \\ {{{{Subject}\mspace{14mu}{to}\;{\sum\limits_{i_{k + 2}\ldots\mspace{11mu} i_{N}}z_{{l_{k}{(l_{k + 1})}}{i_{k + 1}{({l_{k}}_{+ 1})}}i_{k + 2}\ldots\mspace{11mu} i_{N}}^{N - k + 1}}} = 1},{l_{k + 1} = 1},\ldots\mspace{11mu},L_{k + 1},} \end{matrix}} & (4.32) \end{matrix}$ where

$\begin{matrix} {{\Phi_{n - k + 1}\left( {{z^{N - k + 1};u^{k + 2}},\ldots\mspace{14mu},u^{N}} \right)} = \;{{\sum\limits_{l_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}{\left\lbrack {c_{{l_{k}{(l_{k + 1})}}{i_{k + 1}{({l_{k}}_{+ 1})}}i_{k + 2}\ldots\mspace{11mu} i_{N}}^{N - k + 1} + {\sum\limits_{p = {k + 2}}^{N}\; u_{i_{p}}^{p}}} \right\rbrack z_{{l_{k}{(l_{k + 1})}}{i_{k + 1}{({l_{k}}_{+ 1})}}i_{k + 2}\ldots\mspace{11mu} i_{N}}^{N - k + 1}}} - {\sum\limits_{p = {k + 2}}^{N}\;{\sum\limits_{i_{p} = 0}^{M_{p}}{u_{i_{p}}^{p}.}}}}} & {(4.33)\left\lbrack \left\lbrack \left( {3.{xxx}} \right) \right\rbrack \right\rbrack} \end{matrix}$ If now another constrain set, say the (k+2)^(th) set, is added to this problem, one has

$\begin{matrix} {{{{\overset{\sim}{\Phi}}_{N = {k + 1}}\left( {u^{k + 2},{\ldots\mspace{14mu} u^{N}}} \right)} \equiv {{Minimize}\mspace{14mu}{{\overset{\sim}{\phi}}_{N - k + 1}\left( {{z^{N - k + 1};u^{k + 2}},\ldots\mspace{14mu},u^{N}} \right)}} \equiv {{{Minimize}\mspace{14mu}{\sum\limits_{l_{k + 1}i_{k + 2}\ldots\mspace{14mu} i_{N}}\;{\left\{ {c_{{l_{k}{(l_{k + 1})}}{i_{k + 1}{({l_{k}}_{+ 1})}}\ldots\mspace{11mu} i_{N}}^{N - k + 1} + {\sum\limits_{p = {k + 2}}^{N}\; u_{i_{p}}^{p}}} \right\} z_{{l_{k}{(l_{k + 1})}}{i_{k + 1}{({l_{k}}_{+ 1})}}\ldots\mspace{11mu} i_{N}}^{N - k + 1}}}} - {\sum\limits_{p = {k + 2}}^{N}\;{\sum\limits_{i_{p} = 0}^{M_{p}}u_{i_{p}}^{p}}}}}\mspace{76mu}{{{{Subject}\mspace{14mu}{To}\mspace{14mu}{\sum\limits_{i_{k + 2}\ldots\mspace{14mu} i_{N}}z_{{l_{k}{(l_{k + 1})}}{i_{k + 1}{({l_{k}}_{+ 1})}}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}}} = 1},\mspace{76mu}{l_{k + 1} = 1},{\ldots\mspace{14mu} L_{k + 1}},\mspace{211mu}{{\sum\limits_{l_{k + 1}i_{k + 3}\ldots\mspace{14mu} i_{N}}z_{{l_{k}{(l_{k + 1})}}{i_{k + 1}{({l_{k}}_{+ 1})}}i_{k + 2}\ldots\mspace{14mu} i_{N}}^{N - k + 1}} = 1},\mspace{76mu}{i_{k + 2} = 1},\ldots\mspace{14mu},{M_{k + 2}.}}} & (4.34) \end{matrix}$

Since the constraint Σ_(i) _(k+1) _(i) _(k+3) _(. . . i) _(N) Z_(i) _(k) _((l) _(k+1) _()i) _(k+1) _((l) _(k+1) _()i) _(k+2) _(. . . i) _(N) ^(N−k+1)=1 for l_(k+2)=1, . . . ,M_(k2) is now imposed, the feasible region is smaller, so that one has

$\begin{matrix} {{\Phi_{N - k + 1}\left( {u^{k + 2},\ldots\mspace{11mu},u^{N}} \right)} \leq {{\overset{\sim}{\Phi}}_{N - k + 1}\left( {u^{k + 2},\ldots\mspace{11mu},u^{N}} \right)}} \\ {\equiv {{\overset{\sim}{\Phi}}_{N - k + 1}\left( {u^{k + 3},\ldots\mspace{11mu},u^{N}} \right)}} \\ {{\equiv {\Phi_{N - k + 1}\left( {u^{k + 3},\ldots\mspace{11mu},u^{N}} \right)}},} \end{matrix}$ where the fact that Φ _(N=k+1) does not depend on the multiplier set u^(k+2) due the added constraint set. Also, the last equivalence follows from the fact that Φ_(N=k+1)γ^(k+3) . . . ,u^(N)) is the relaxed problem (3.xx) (with k replaced by k+1) for the recovery problem (3.xx) in step k of the above algorithm. Continuing this way, one can compute (u³, . . . ,u^(N)) at the first step (k=1), fix them thereafter, and perform no optimization at the subsequent steps to obtain Φ_(N)(u³, . . . ,u^(N))≦Φ_(N−1)(u⁴, . . . u^(N))≦ . . . ≦Φ₃(u^(N))≦Φ₂≡V_(N)({circumflex over (Z)}) where Φ₂ γΔ is defined in (4.22).

To explain how to improve this inequality, let (u^(2+k,N−k+1), . . . , u^(N,N−k+1)) denote a maximizer of Φ_(N−k+1)(u^(k+2), . . . ,u^(N)). Then by the same reasoning one has (3.xx) the result as stated in the theorem. Q.E.D.

V. Summary of the Lagrangian Relaxation Problem. (APB)

Given the multidimensional assignment problem

$\begin{matrix} \begin{matrix} {{Minimize}\mspace{14mu}{\sum\limits_{i_{1}\ldots\mspace{14mu} i_{N}}\;{c_{i_{1}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}}}} \\ \begin{matrix} {{{{Subject}\mspace{14mu}{To}{\mspace{14mu}}{\sum\limits_{i_{1}i_{3}\ldots\mspace{14mu} i_{N}}\; z_{i_{1}\ldots\mspace{14mu} i_{N}}}} = 1},\left( {{i_{1} = 1},{\ldots\mspace{14mu} M_{1}}} \right),} \\ {{{\sum\limits_{i_{1}i_{3}\ldots\mspace{14mu} i_{N}}\; z_{i_{1}\ldots\mspace{14mu} i_{N}}} = 1},\left( {{i_{2} = 1},{\ldots\mspace{14mu} M_{2}}} \right),} \\ {{{\sum\limits_{i_{1}\ldots\mspace{14mu} i_{p - 1}i_{p + 1}\ldots\mspace{14mu} i_{N}}\; z_{i_{1}\ldots\mspace{14mu} i_{N}}} = 1},} \\ {\left( {{i_{p} = 1},{{\ldots\mspace{14mu} M_{p}\mspace{14mu}{and}\mspace{14mu} p} = 2},\ldots\mspace{14mu},{N - 1}} \right),} \\ {{{\sum\limits_{i_{1}i_{2}\ldots\mspace{14mu} i_{N - 1}}\; z_{i_{1}\ldots\mspace{14mu} i_{N}}} = 1},\left( {{i_{N} = 1},{\ldots\mspace{14mu} M_{N}}} \right),} \\ {{z_{i_{1}\ldots\mspace{14mu} i_{N}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}}},\ldots\mspace{14mu},i_{N},} \end{matrix} \end{matrix} & {\left\lbrack \left\lbrack (4.1) \right\rbrack \right\rbrack(5.1)} \end{matrix}$ where c_(o . . o) ^(N) is arbitrarily defined to be zero and is included for notational convenience and where the superscript N on both c and z is not an exponent, but denotes the dimension of the subscripts and the assignment problem as stated in (2.5) (3.5). In relaxed and recovery problems c_(o . . . o) ^(N) need not be zero! In this problem, we assume that all zero-one variables z_(i) ₁ _(. . . i) _(N) ^(N) with precisely one nonzero index are free to be assigned and that the corresponding cost coefficients are well-defined. (This is a valid assumption in the tracking environment (A. B. Poore. Multidimensional assignments and multitarget tracking, partitioning data sets, I. J. Cox, P. Hansen, and B. Julesz, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, R.I., 19:169-198, 1995; A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994).) Although not required, these cost coefficients with exactly one nonzero index can be translated to zero by cost shifting (A. B. Poore and N. Rijavec. A lagrangian relaxation algorithm for multidimensional assignment problems arising from multitarget tracking. SIAM Journal of Optimization, 3, No. 3:544-563, 1993) without changing the optimal assignment.

Having explained many of the relaxation features, it is now appropriate to present the Lagrangian relaxation algorithm, which iteratively constructs a feasible solution to the N-dimensional assignment problem (4.1) (5.1).

Algorithm 4.1 5.1 (Lagrangian Relaxation Algorithm). To construct a high quality feasible solution, enoted denoted by {circumflex over (z)}^(N), of the assignment problem (4.1) (5.1), proceed as follows:

0. Initialize the multipliers (u^(k+2), . . . ,u^(N)), e.g., (u^(k+2), . . . , u^(N))=(0, . . . ,0).

For k−1, . . . ,N−2, do

1. For the Lagrangian relaxed problem (3.2) (4.8) from the problem (3.1) 4.7) by relaxing the last (N−k−1) sets of constraints.

2. Use a nonsmooth optimization technique to solve Maximize {Φ_(N−k+1)|u^(Γ)εR^(M) ^(p+1) for p=k+2, . . . ,N with u₀ ^(p)=0 being fixed}  (4.2) (5.2) where Φ_(N−k+1)(u^(k+2), . . . ,u^(N)) is defined by equation (3.2) (4.8). The algorithm following problem (3.9) in Section IV.3.2 provides one method for computing a function value and a subgradient out of the subdifferential at (u^(k+2), . . . ,u^(N)), as required in most nonsmooth optimization techniques.

3. Given an approximate or optimal maximizer of (4.2) (5.2), say (û^(l+2), . . . ,û^(N)), let ŵ² assignment problem (3.4) (4.10) corresponding to this maximizer of Φ_(N−k+1)(u^(k+2), . . . ,u^(N)).

4. Formulate the recovery (N−k)-dimensional problem (3.13) (4.19), modified as discussed at the end of subsection (3.3) (IV.3.2) for sparse problems. At this stage, {circumflex over (z)}^(N) as defined in (3.15) (4.21), contains the alignment of the indices

Formulate the final two-dimensional problem (3.17) (4.22) and complete the final recovered solution {circumflex over (z)}^(N) as in (3.20) (4.25).

To explain the lower and upper bounds, let Φ_(N) defined in (3.2) (4.8) with k=1, let V_(N)(z^(N)) be the objective function value of the N-dimensional assignment problem in equation (2.5) (3.5) corresponding to a feasible solution z^(N) of the constraints in (2.5) (3.5), and let z ^(N−k+1) (2.5) (3.5). Then, Φ_(N)(u³, . . . ,u⁴)≦V_(N)( z ^(N))≦V_(N)({circumflex over (z)}^(N))   (4.3) (5.3) is the desired inequality.

COMMENTS

1. Step 2 is the computational part of the algorithm. Evaluating Φ_(N−k+1) search procedure requires 99% of the computing time in the algorithm. This part uses two dimensional two-dimensional assignment algorithms, a search over a large number of indices, and a nonsmooth optimization algorithm. It is the second part (the search) that consumes 99% of the computational time and this is almost entirely parallelizable.

2. In track maintenance, the warm starts for the initial multipliers for the first step are available. For the relaxation procedure, initial multipliers are available in step 2 from the prior step in the algorithm.

3. There are many variations on the above algorithm. For example, one can compute a good solution on the first pass (k=1) and not perform the optimization in (2) thereafter. This yields a great solution. Thus one can continue the optimization at the first pass, and immediately compute quality feasible solutions to the problem.

VI. Lagrangian Relaxation Algorithm for the 3-Dimensional Algorithm. (ABP)

In this section, we illustrate the relaxation algorithm for the three dimensional three-dimensional assignment problem. Having discussed the general relaxation scheme,

$\begin{matrix} \begin{matrix} {{Minimize}\mspace{14mu}{\sum\limits_{i_{1} = 0}^{M_{1}}{\sum\limits_{i_{2} = 0}^{M_{2}}{\sum\limits_{i_{3} = 0}^{M_{3}}\;{c_{i_{1}i_{2}i_{3}}z_{i_{1}i_{2}i_{3}}}}}}} \\ \begin{matrix} {{{{Subject}\mspace{14mu}{To}{\mspace{14mu}}{\sum\limits_{i_{2} = 0}^{M_{2}}{\sum\limits_{i_{3} = 0}^{M_{3}}\; z_{i_{1}i_{2}i_{3}}}}} = 1},{i_{1} = 1},\ldots\mspace{14mu},M_{1},} \\ {{{\sum\limits_{i_{1} = 0}^{M_{1}}{\sum\limits_{i_{3} = 0}^{M_{3}}\; z_{i_{1}i_{2}i_{3}}}} = 1},{i_{2} = 1},\ldots\mspace{14mu},M_{2},} \\ {{{\sum\limits_{i_{1} = 0}^{M_{1}}{\sum\limits_{i_{2} = 0}^{M_{2}}z_{i_{1}i_{2}i_{3}}}} = 1},{i_{3} = 1},\ldots\mspace{14mu},M_{3},} \\ {z_{i_{1}i_{2}i_{3}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}i_{2}{i_{3}.}}} \end{matrix} \end{matrix} & \left( {\left\lbrack \lbrack 5.1\rbrack \right\rbrack\; 6.1} \right) \end{matrix}$ To ensure that a feasible solution of (5.1) (6.1) always exists for a sparse problem, all variables with exactly one nonzero index (i.e., variables of the formz_(l) ₁₀₀ , Z_(Oi) ₂₀ and z_(OOi) ₃ for i_(p)=1, . . . , M_(p) and p=1,2,3 are assumed free to be assigned with the corresponding cost coefficients being well-defined. This assumption is valid in the tracking environment [**refPoa, **refPob] (A. B. Poore. Multidimensional assignments and multitarget tracking, partitioning data sets, I. J. Cox, P. Hansen, and B. Julesz, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, R.I., 19:169-198, 1995; A. B. Poore. Multidimensional assignment formulation of data association problems arising from multitarget tracking and multisensor data fusion. Computational Optimization and Applications, 3:27-57, 1994).

VI.1. The Lagrangian Relaxed Assignment Problem.

The three dimensional three-dimensional assignment problem (5.1) (6.1) has three sets of constraints and one can describe the relaxation by relaxing any of the three sets of constraints, the description here is based on relaxing the last set of constraints. A (M₃+1)-dimensional multiplier vector (i.e., u³ εR^(M) ³ ⁺¹) associated with the 3^(th) constraint set will be denoted by u³=(u₀ ³, u₁ ³ . . . ,u_(M) ₃ ³)^(T) with u_(o) ³≡0 being fixed for notational convenience. (The zero multiplier u₀ ³ is used for notational convenience.) Now, the three dimensional three-dimensional assignment problem (5.1) (6.1) is relaxed to a two-dimensional assignment problem by incorporating last set of constraints into the objective function via the Lagrangian. Although any constraint set can be relaxed, we choose the last set of constraints for convenience. The relaxed problem is

$\begin{matrix} \begin{matrix} {{\Phi_{3}\left( u^{3} \right)} \equiv {{Minimize}\mspace{14mu}{\phi_{3}\left( {z^{3};u^{3}} \right)}} \equiv {{\sum\limits_{i_{1} = 0}^{M_{1}}{\sum\limits_{i_{2} = 0}^{M_{2}}{\sum\limits_{i_{3} = 0}^{M_{3}}\;{c_{i_{1}i_{2}i_{3}}^{3}z_{i_{1}i_{2}i_{3}}^{3}}}}} +}} \\ {{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{\sum\limits_{i_{3} = 0}^{M_{3}}{u_{i_{3}}^{3}\left\lbrack {{\sum\limits_{i_{1} = 0}^{M_{1}}{\sum\limits_{i_{2} = 0}^{M_{2}}z_{i_{1}i_{2}i_{3}}^{3}}} - 1} \right\rbrack}}} \\ {\equiv {{{Minimize}\mspace{14mu}{\sum\limits_{i_{1} = 0}^{M_{1}}{\sum\limits_{i_{2} = 0}^{M_{2}}{\sum\limits_{i_{3} = 0}^{M_{3}}\;{\left\lbrack {c_{i_{1}i_{2}i_{3}}^{3} + u_{i_{3}}^{3}} \right\rbrack z_{i_{1}i_{2}i_{3}}^{3}}}}}} - {\sum\limits_{i_{3} = 0}^{M_{3}}u_{i_{3}}^{3}}}} \\ {{{{Subject}\mspace{14mu}{to}\mspace{14mu}{\sum\limits_{i_{2} = 0}^{M_{2}}{\sum\limits_{i_{3} = 0}^{M_{3}}z_{i_{1}i_{2}i_{3}}^{3}}}} = 1},{i_{1} = 1},\ldots\mspace{14mu},M_{1},} \\ {{~~~~~~~~~~~~~~~~~~~~~~~~}{{{\sum\limits_{i_{1} = 0}^{M_{1}}{\sum\limits_{i_{3} = 0}^{M_{3}}z_{i_{1}i_{2}i_{3}}^{3}}} = 1},{i_{2} = 1},\ldots\mspace{14mu},{M_{2}.}}} \end{matrix} & \left( {\left\lbrack \lbrack 5.2\rbrack \right\rbrack\mspace{11mu} 6.2} \right) \end{matrix}$

One of the major steps in the algorithm is the maximization of Φ₃γ³Δ u³ Φ₃(u³) with respect to the multiplier vector u³. It turns out that Φ₃ is a concave, continuous, and piecewise affine function of the multiplier vector u³, so that the maximization of Φ₃ is a problem of nonsmooth optimization. Since many of these algorithms require a function value and a subgradient of Φ₃ γ³Δ Φ₃ at any required multiplier value (u³), we address this problem in the next subsection. We note, however, that there are other ways to maximize Φ₃ and the next subsection addresses but one such method.

VI.2. Properties Lagrangian Relaxed Assignment Problem

For a function evaluation of Φ₃ γ Φ₃, we show that an optimal (or suboptimal) solution of this relaxed problem (5.2) (6.2) can be constructed from that of a two-dimensional assignment problem. Then, the nonsmooth characteristics of Φ₃ are addressed, followed by a method for computing a subgradient.

Evaluation of Φ₃. Define for each (i₁, i₂) j₃=j₃(i₁,i₂) and a new cost function c_(i) ₁ _(i) ₂ ² by:

$\begin{matrix} {{{j_{3} \equiv {j_{3}\left( {i_{1},i_{2}} \right)}} = {\arg\mspace{14mu}\min\left\{ {{{{c_{i_{1}i_{2}i_{3}}^{3} + u_{i_{3}}^{3}}❘i_{3}} = 0},1,\ldots\mspace{14mu},M_{3}} \right\}}},\mspace{76mu}{c_{i_{1}i_{2}}^{2} = {{c_{i_{1}i_{2}{j_{3}{({i_{1}i_{2}})}}}^{3} + {u_{j_{3}}^{3}\mspace{14mu}{for}\mspace{14mu}\left( {i_{1},i_{2}} \right)}} \neq \left( {0,0} \right)}},\mspace{76mu}{c_{00}^{2} = {\sum\limits_{i_{3} = 0}^{M_{3}}{{Minimum}\mspace{14mu}{\left\{ {0,{c_{00i_{3}}^{3} + u_{i_{3}}^{3}}} \right\}.}}}}} & \left( {\left\lbrack \lbrack 5.3\rbrack \right\rbrack\mspace{11mu} 6.3} \right) \end{matrix}$ Given an index pair (i₁,i₂), j₃ need not be unique, resulting in the potential generation of several subgradients (5.11) (6.11). (We further discuss this issue at the end of the Subsection 5.2.3.)

Now, define

$\begin{matrix} \begin{matrix} {{{\hat{\Phi}}_{3}\left( u^{3} \right)} = {{{Minimize}\mspace{14mu}{{\hat{\phi}}_{3}\left( {z^{3};u^{3}} \right)}} \equiv {{\sum\limits_{i_{1} = 0}^{M_{1}}{\sum\limits_{i_{2} = 0}^{M_{2}}\;{c_{i_{1}i_{2}}^{2}z_{i_{1}i_{2}}^{2}}}} - {\sum\limits_{i_{3} = 0}^{M_{3}}{u_{i_{3}}^{3}.}}}}} \\ {{{{Subject}\mspace{11mu}{To}\mspace{14mu}{\sum\limits_{l_{2} = 0}^{M_{2}}z_{i_{1}i_{2}}^{2}}} = 1},{i_{1} = 1},\ldots\mspace{14mu},M_{1},} \\ {{~~~~~~~~~~~~~~~~~~~~~~~}{{{\sum\limits_{l_{1} = 0}^{M_{1}}z_{i_{1}i_{2}}^{2}} = 1},{i_{2} = 1},\ldots\mspace{14mu},M_{2},}} \\ {{~~~~~~~~~~~~~~~~~~~~~~~}{{z_{i_{1}i_{2}}^{2} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}}},{i_{2}.}}} \end{matrix} & {(\; 6.4)\left\lbrack \left\lbrack (5.4) \right\rbrack \right\rbrack} \end{matrix}$ As an aside, two observations are in order. The first is that the search procedure needed for the computation of the relaxed cost coefficients in (5.3) (6.3) is the most computationally intensive part of the entire relaxation algorithm. The second is that a feasible solution z³ of a sparse problem (5.1) (6.1) yields a feasible solution z² of (5.4) (6.4) via the construction

$z_{i_{1}i_{2}}^{2} = \left\{ \begin{matrix} {1,} & {{{{if}\mspace{14mu} z_{{i_{1}i_{2}},i_{3}}^{2}} = {1\mspace{14mu}{for}\mspace{14mu}{some}\mspace{14mu}\left( {i_{1},i_{2},i_{3}} \right)}},} \\ {0,} & {{otherwise}.} \end{matrix} \right.$ Thus the two-dimensional assignment problem (5.4) (6.4) has feasible solutions other than those with exactly one nonzero index if the original problem (5.1) (6.1) does.

The following Theorem 5.1 6.1 states that an optimal solution of (5.2) (6.2) can be computed from that of (5.4) (6.4). Furthermore, if the solution of either of these two problems is ε ε then so is the other. The converse is contained in Theorem 5.2 6.2.

Theorem 5.1 6.1. Let ω² w² dimensional assignment problem (5.4) (6.4) and define w³ by w_(i) ₁ _(i) ₂ _(i) ₃ ³=w_(i) _(1*2) ² if i₃=j₃ and (i₁,i₂)≠(0,0); w_(i) ₁ _(i) ₂ _(i) ₃ ³=0 if i₃≠j₃ and (i₁,i₂)≠(0,0); w_(ooi) ₃ ³=1 if c_(ooi) ₃ ³+u_(i) ₃ ³≦0; w_(ooi) ₃ ³=01 if c_(ooi) ₃ ³+u_(i) ₃ ³>0.   (5.5) (6.5) Then w³ is a feasible solution of the Lagrangian relaxed problem (6.2) and Φ γ³ ³Δ Φ γ² ³Δ ε ε² φ₃(w³;u³)={circumflex over (φ)}₃(w²;u³). If, in addition, w² is optimal for the two dimensional two-dimensional problem, then w³ is an optimal solution of the relaxed problem and Φ₃(u³)= Φ ₃(u³).

With the exception of one equality being converted to an inequality, the following theorem is a converse of Theorem 5.1 6.1.

Theorem 5.2 6.2. Let w² be a feasible solution to problem (5.2) (6.2)and define w² by

$\begin{matrix} {{w_{i_{1}i_{2}}^{2} = {{\sum\limits_{i_{3} = 0}^{M_{3}}{w_{i_{1}i_{2}i_{3}}^{3}\mspace{14mu}{for}\mspace{14mu}\left( {i_{1},i_{2}} \right)}} \neq \left( {0,0} \right)}},} & \left( {\left\lbrack \lbrack 5.7\rbrack \right\rbrack\mspace{11mu} 6.6} \right) \end{matrix}$ w_(oo) ²=0 if (i₁,i₂)=(00) and c_(ooi) ₃ ³+u_(i) ₃ ³>0 for all i₃ w_(oo) ²=1 if (i₁,i₂)=(00) and c_(ooi) ₃ ³+u_(i) ₃ ³≦0 for some i₃. Then w² is a feasible solution of the problem (5.4) (6.4) and Φ₃(w³;u³)≧Φ₃(w²;u³). If, in addition, w³ is optimal for (5.2) (6.2), then w² is an optimal solution of (5.4) (6.4), Φ₃(w³;u³)=Φ₃(w²;u³) and Φ₃(u³)= φ ₃(u³).

The Nonsmooth Optimization Problem

An Algorithm for Computing Φ₃ and a Subgradient

Given u³ the problem of computing Φ₃γ³Δ Φ₃(u³) and a subgradient of Φ₃γ³Δ Φ₃(u³)

1. Starting with problem (5.1) (6.1), form the relaxed problem (5.2) (6.2).

2. To solve (5.2) (6.2) optimally, define the two dimensional two-dimensional assignment problem (5.4) (6.4) via the transformation (5.3) (6.3).

3. Solve the two-dimensional problem (5.4) (6.3) optimally.

4. Reconstruct the optimal solution, say ŵ³εγΔ equation (5.6) (6.6) as in Theorem 5.1 6.1.

5. Then

$\begin{matrix} {{{\Phi_{3}\left( u^{3} \right)} \equiv {\phi_{3}\left( {{\hat{w}}^{3};u^{3}} \right)}} = {{\sum\limits_{i_{1} = 0}^{M_{1}}{\sum\limits_{i_{2} = 0}^{M_{2}}{\sum\limits_{i_{3} = 0}^{M_{3}}\mspace{14mu}{c_{i_{1}i_{2}i_{3}}^{3}{\hat{w}}_{i_{1}i_{2}i_{3}}^{3}}}}} + {\sum\limits_{i_{3} = 0}^{M_{3}}{{u_{i_{3}}^{3}\left\lbrack {{\sum\limits_{i_{1} = 0}^{M_{1}}{\sum\limits_{i_{2} = 0}^{M_{2}}{\hat{w}}_{i_{1}i_{2}i_{3}}^{3}}} - 1} \right\rbrack}.}}}} & {\left\lbrack \left\lbrack (5.10) \right\rbrack \right\rbrack(6.7)} \end{matrix}$

6. A subgradient is given by substituting ŵ³ objective function (5.2) (6.2), erasing the minimum sign, and taking the partial with respect to u_(i) ₃ ³. The result is

            [[(5.11)]](6.8) ${g_{i_{3}}^{3} = {\frac{\partial{\Phi_{3}\left( u^{3} \right)}}{\partial u_{i_{3}}^{3}} = {{\left\lbrack {{\sum\limits_{i_{1} = 0}^{M_{1}}\;{\sum\limits_{i_{2} = 0}^{M_{2}}\;{\hat{w}}_{i_{1}i_{2}i_{3}}^{3}}} - 1} \right\rbrack\mspace{14mu}{for}\mspace{14mu} i_{3}} = 1}}},\ldots\mspace{14mu},{M_{3}.}$

VI.3. The Recovery Procedure.

The next objective is to explain a recovery procedure, i.e., given a feasible (optimal or suboptimal) solution w² of (5.4) (6.4) (or w³ of (5.2) (6.2) constructed in Theorem 5.1 6.1), generate a feasible solution z³ of equation (5.1) (6.1) which is close to w² in a sense to be specified. We first assume that no variables in (5. 1) (6.1) are preassigned to zero; this assumption will be removed shortly. The difficulty with the solution w³ in Theorem 5.1 6.1 is that it need not satisfy the third set of constraints in (5.1) (6.1). (Note, however, that if w² is an optimal solution for (5.4) (6.4) and w³, as constructed in Theorem 5.1 6.1, satisfies the relaxed constraints, then w³ is optimal for (5.1) (6.1).) The recovery procedure described here is designed to preserve the 0-1 character of the solution w² of (5.4) (6.4) as far as possible: If w_(i) ₁ _(i) ₂₃ ²=1 and i₁≠0 or i₂≠0, the corresponding feasible solution z³ of (5.1) (6.1) is constructed so that z_(i) ₁ _(i) ₂ _(i) ₃ ³=1 for some (i₁,i₂,i₃) . By this reasoning, variables of the form Z_(OOi) ₃ ³, can be assigned a value of one in the recovery problem only if w_(OO) ²=1. However, variables z_(OOi) ₃ ³ will be treated differently in the recovery procedure in that they can be assigned either zero or one independent of the value w_(OO) ². This increases the feasible set of the recovery problem, leading to a potentially better solution.

Let {(i₁(l₂),i₂(l₂)}_(l) ₂ ^(L)=0 be an enumeration of indices {i₁,i₂} of w² (or the first 2 indices of w³ constructed in equation(5) (6.5)) such that w_(i) ₁ _((l) ₂ _(),i) ₂ _((l) ₂₎ ²=1 or (i₁(l₂)i₂)≠(0,0) and (i₁(l₂),i₂(l₂))=(0,0) for l₂=0 regardless of whether w₀₀ ²=1 or not. (The latter can only improve the quality of the feasible solution.)

Next to define the two-dimensional assignment problem that restores feasibility, let c_(l) ₂ _(l) ₃ ²=c_(i) ₁ _((l) ₂ _()i) ₂ _((l) ₂ _()i) ₃ ³ for l₂=0, . . . ,L₁   (5.12) (6.9) Then the two-dimensional assignment problem that restores feasibility is

$\begin{matrix} \begin{matrix} {{Minimize}{~~~}{\sum\limits_{l_{2} = 0}^{L_{2}}\;{\sum\limits_{i_{3} = 0}^{M_{3}}{c_{l_{2}i_{3}}^{2}z_{l_{2}i_{3}}^{2}}}}} \\ {{{{Subject}\mspace{14mu}{to}{~~~}{\sum\limits_{i_{3} = 0}^{M_{3}}z_{l_{2}i_{3}}^{2}}} = 1},{l_{2} = 1},\ldots\mspace{14mu},L_{2},} \\ {{{\sum\limits_{l_{2} = 0}^{L_{2}}z_{l_{2}i_{3}}^{2}} = 1},{i_{3} = 1},\ldots\mspace{14mu},M_{3},} \\ {{z_{l_{2}i_{3}}^{2} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} l_{2}}},{i_{3}.}} \end{matrix} & {\left\lbrack \left\lbrack (5.14) \right\rbrack \right\rbrack(6.10)} \end{matrix}$

The next objective is to remove the assumption that all cost coefficients are defined and all zero-one variables are free to be assigned. We first note that the above construction of a reduced dimension two-dimensional assignment problem (5.13) (6.11) is valid as long as all cost coefficients c² are defined and all zero-one variables in z² are free to be assigned. Modifications are necessary for sparse problems. If the cost coefficient c_(i) ₁ _((l) ₂ )i ₂ _((l) ₂ _()i) ₃ ³ is well-defined and the zero-one variable z_(i) ₁ _((l) ₂ _()i) ₂ _((l) ₂ _()i) ₃ ³ is free to be assigned to zero or one, then define c_(l) ₂ _(i) ₃ ²=c_(i) ₁ _((l) ₂ _()i) ₂ _((l) ₂ _()i) ₃ ³ as in (5.12) (6.10) with z_(i) ₁ _((l) ₂ _()i) ₂ _((l) ₂ _()i) ₃ ³ being free to be assigned. Otherwise, z_(l) ₂ _(i) ₃ ² is preassigned to zero or the corresponding arc is not allowed in the feasible set of arcs. To ensure that a feasible solution exists, we now only need ensure that the variables z_(l) ₂ _(O) ² are free to be assigned for l₂=0,1, . . . ,L₁ with the corresponding cost coefficients being well-defined. ( Recall that all variables of the form z_(i) ₁ _(OO) ³, z_(Oi) ₂ _(O) ³ and z_(OOi) ₃ ³ are free (to be assigned) and all coefficients of the corresponding form c_(i) ₁ _(OO) ³,c_(Oi) ₂ _(O) ³ and c_(OOi) ₃ ³need to be defined. ) This is accomplished as follows: If if the cost coefficient c_(i) ₁ _((l) ₂ _()i) ₂ _((l) ₂ _()O) ³ is well-defined and z_(i) ₁ _((l) ₂ _()i) ₂ _((l) ₂ _()O) ³ is free, then define c_(l) ₂ _(O) ²=c_(i) ₂ _((l) ₂ _()i) ₂ _((l) ₂ _()O) ³ with ^(z) _(l) ₂ _(O) ₃ ² being free. Otherwise, since all variables of the form z_(i) ₁ _(O) ³ and z_(Ol) ₂ _(O) ³ are free to be assigned with the corresponding costs being well-defined, set c_(l) ₂ _(O) ²=c_(i) ₁ _((l) ₂ _()OO) ³+c_(Oi) ₂ _((l) ₂ _()O) ³ where the first term is omitted if i₁(1 ₂)=0 and the second, if i₂(l₂)=0. For i₁(l₂)=0 and i₂(l₂)=0, define c_(oo) ²=c_(OOO) ³.

VI.4. The final recovery problem.

The recovery problem for the case N=3 is

$\begin{matrix} \begin{matrix} {{Minimize}{~~~}{\sum\limits_{l_{2} = 0}^{L_{2}}\;{\sum\limits_{i_{3} = 0}^{M_{3}}{c_{l_{2}i_{3}}^{3}z_{l_{2}i_{3}}^{2}}}}} \\ {{{{Subject}\mspace{14mu}{to}{~~~}{\sum\limits_{i_{3} = 0}^{M_{3}}z_{l_{2}i_{3}}^{2}}} = 1},{l_{2} = 1},\ldots\mspace{14mu},L_{2},} \\ {{{\sum\limits_{l_{2} = 0}^{L_{2}}z_{l_{2}i_{3}}^{2}} = 1},{l_{3} = 1},\ldots\mspace{14mu},M_{3},} \\ {{z_{l_{2}i_{3}}^{2} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} l_{2}}},{i_{3}.}} \end{matrix} & {\left\lbrack \left\lbrack (5.14) \right\rbrack \right\rbrack\;(6.11)} \end{matrix}$

Let Y be an optimal or feasible solution to this 2-dimensional two-dimensional assignment problem. The recovered feasible solution z³ is defined by

           [[(5.15)]] (6.12) $z_{i_{1}i_{2}i_{3}}^{3} = \left\{ \begin{matrix} {1,} & {{{{if}\mspace{14mu} i_{1}} = {i_{1}\left( l_{2} \right)}},{i_{2} = {{{i_{2}\left( l_{2} \right)}\mspace{14mu}{and}\mspace{14mu} Y_{l_{2}i_{3}}} = 1}},} \\ {0,} & {{otherwise}.} \end{matrix} \right.$ Said in another way, let {(l₂(l₃),i₃(l₃)}_(l) ₃ ^(L)=0 be an enumeration of indices {l₂,i₃} of Y _(such that Y) _(l) ₂ _((l) ₃ _(),i) ₃ _((l) ₃ ₎=1 for (l₂(l₃), i₃(l₃))≠(0,0) and (l₂(l₃),i₃(l₃))=(0,0) for l₃=0 regardless of whether Y_(OO)=1 or not. Then the recovered feasible solution can be written as

           [[(5.16)]](6.13) ${\hat{z}}_{i_{1}i_{2}i_{3}}^{3} = \left\{ \begin{matrix} {1,} & {{{{if}\mspace{14mu} i_{1}} = {i_{1}\left( l_{12} \right)}},{i_{2} = {i_{2}\left( l_{12} \right)}},{i_{i_{3}} = {1_{3}\left( l_{3} \right)}},} \\ {0,} & {{otherwise}.} \end{matrix} \right.$ The upper bound on the feasible solution is given by

$\begin{matrix} {{V_{3}\left( {\hat{z}}^{3} \right)} = {\sum\limits_{i_{1} = 0}^{M_{1}}\;{\sum\limits_{i_{2} = 0}^{M_{2}}{\sum\limits_{i_{3} = 0}^{M_{3}}{c_{i_{1}i_{2}i_{3}}^{3}{\hat{z}}_{i_{1}i_{2}i_{3}}^{3}}}}}} & {\left\lbrack \left\lbrack (5.17) \right\rbrack \right\rbrack\;(6.14)} \end{matrix}$ and the lower by Φ₃γ³Δγ³Δ Φ₃(u³).

In particular, we have Φ₃(u³)≧Φ₃(ū³)≦V₃( z ³)≦V₃({circumflex over (z)}³) where u³ is any multiplier value, (ūΔ³Φ₃γ³Δε z ³ (ū³) is a maximizer of Φ₃(u³), z ³ is an optimal solution of the multidimensional assignment problem and {circumflex over (z)}³ is the recovered feasible solution defined by (5.16) (6.13).

VII. Other Relaxations for the Multidimensional Assignment Problem. (ABP)

In this section, we briefly describe other possible relaxations and their implications. These include linear programming relaxations and the corresponding duals.

Recall from Section II that one starts with the definition of the zero-one variable z₁ _(N) _(. . . i) _(N) =1 and cost coefficients to form the problem

$\begin{matrix} \begin{matrix} {{Minimize}{~~~}{\sum\limits_{i_{1}\ldots\mspace{14mu} i_{N}}\;{c_{i_{1}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}}}} \\ {{{{Subject}\mspace{14mu}{To}{~~~}{\sum\limits_{i_{2}i_{3}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}}} = 1},\left( {{i_{1} = 1},\ldots\mspace{14mu},M_{1}} \right),} \\ {{{\sum\limits_{i_{1}i_{3}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}} = 1},\left( {{i_{2} = 1},\ldots\mspace{14mu},M_{2}} \right),} \\ {{\sum\limits_{i_{1}\ldots\mspace{14mu} i_{p - 1}i_{p + 1}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}} = 1} \\ {{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{\left( {{i_{p} = 1},\ldots\mspace{14mu},{{M_{p}\mspace{14mu}{and}\mspace{14mu} p} = 2},\ldots\mspace{14mu},{N - 1}} \right),}} \\ {{{\sum\limits_{i_{1}i_{2}\ldots\mspace{14mu} i_{N - 1}}z_{i_{1}\ldots\mspace{14mu} i_{N}}} = {1\mspace{14mu}\left( {{i_{N} = 1},\ldots\mspace{14mu},M_{N}} \right)}},} \\ {{z_{i_{1}\ldots\mspace{14mu} i_{N}} \in {\left\{ {0,1} \right\}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}}},\ldots\mspace{14mu},i_{N},} \end{matrix} & (7.1) \end{matrix}$ where c_(O . . . O) is arbitrarily defined to be zero. Here, each group of sums in the constraints represents the fact that each non-dummy report occurs exactly once in a “track of data”. One can modify this formulation to include multiassignments of one, some, or all the actual reports. The assignment problem (2.5) (3.5) is changed accordingly. For example, if z_(i) _(k) ^(l) is to be assigned no more than, exactly, or no less than n_(i) _(k) ^(k) times, then the “=1” in the constraint (2.5) (3.5) is changed to respectively. Modifications for group tracking and multiresolution features of the surveillance region will be addressed in future work. In making these changes, one must pay careful attention to the independence assumptions that need not be valid in many applications.

Again, the recent work of Poore and Drummond (A. B. Poore and O. E. Drummond. Track initiation and maintenance using multidimensional assignment problems. In D. W. Hearn, W. W. Hager, and P. M. Pardalos, editors, Network Optimization, volume 450, pages 407-422, Boston, 1996. Kluwer Academic Publishers B.V.) significantly extends the formulation of the track maintenance and initiation to new approaches. The discussions of this section apply equally to those formulations.

VII.1. The Linear Programming Relaxation.

In the linear programming relaxation, one replaces the zero-one variables constraints z_(i) ₁ _(. . . i) _(N) ε{0,1} for all i₁, . . . ,i_(N)   (6.2) (7.2) with the constraint 0≦z_(i) ₁ _(. . . i) _(N) ≦1 for all i₁, . . . i_(N)   (6.2) (7.3) Then, the problem (6.1) (7.1) can be formulated as a linear programming problem with the contraint (6.2) (7.2) in (6.1) (7.1) replaced by (6.3) (7.3) with a special block structure to which the Dantzing-Wolfe decomposition is applicable. Of course, after solving this problem, one must now recover the zero-one character of the variables in (6.1) (7.1) and there are many ways to do this, such as using the two dimensional two-dimensional assignment problems. Commercial software is also available.

VII.2. The Linear Programming Dual and Partial Lagrangian Relaxations.

Given the linear programming relaxation, one can formulate the dual problem or the partial Lagrangian relaxation duals with respect to any number of constraints. In particular. this is precisely what is done in Section 3 on the Lagrangian relaxation algorithm presented. The much broader class of algorithms provided in the U.S. Pat. No.II.2 5,537,119 (Aubrey B. Poore. Jr., Method and System for Tracking Multiple Regional Objects by MultiDimensional Relaxation, U.S. Pat. No. 5,537,119, filed Mar. 14, 1995, issue date of Jul. 16, 1996) can be modified to remove the zero-one character when one relaxes M sets of constraints to an N-M dimensional (N-M)-dimensional problem and recovers with an N−M+1 dimensional (N-M+1)-dimensional problem. This avoids the problems associated with the NP-hard N−M (N−M)- and N−M+1 dimensional (N−M+1)-dimensional problems. However, to restore the zero-one character, one can do it sequentially with an assignment problem or with one of the many zero-one rounding techniques. These formulations are easy to work out and thus the details are omitted.

The complete dual problem is another way of solving the LP problem and may indeed be more efficient in certain applications. In addition, the solution of this dual problem may provide excellent initial approximations to the multipliers for Lagrangian relaxations.

VIII. Hot Starts for Track Maintenance and Initiation: Bundle Modifications (ABP)

Thus reuse of multipliers and the first proof that this reuse is actually valid was presented in this section. The reuse in track maintenance is demonstrated and discussed in the work of Poore and Drummond [xx] (A. B. Poore and O. E. Drummond. Track initiation and maintenance using multidimensional assignment problems. In D. W. Hearn, W. W. Hager, and P. M. Pardalos, editors, Network Optimization, volume 450, pages 407-422, Boston, 1996. Kluwer Academic Publishers B.V.). The only item left is the modification of the bundle of subgradients for the use with the multiplier values as one goes through the recovery problem as in Section 3.6 IV.3.6 or as one moves the window in track maintenance. It is this aspect of the nonsmooth optimization that adds an order of magnitude to the speed of the algorithms. This work is based on both a mathematical proof as in Section 3.6 IV.3.6 as well as computational experience and heuristics.

Adaptive Window Size Selection (ABP)IX. ADAPTIVE AND VARIABLE WINDOW SIZE SELECTION

These data association algorithms, based on the multidimensional assignment problem, range from sequential processing to many frames of data processed all at once! The data association problem for multisensor multitarget multisensor-multitarget tracking is formulated using a window sliding over the frames of data from the sensors. This discussion focuses on the work of Poore and Drummond and not on the formulations in Section 2 III. Firm data association decisions for existing track are made at, say frame k, with the most recent frame being k+M. Decisions after frame k are soft decisions. Reports not in the confirmed tracks are used to initiate tracks over frames numbered k−I to k+M.

The length of these windows varies from sequential processing, which corresponds precisely to I=0 and M=1, to user defined large values of I and M. (In the case of sequential processing. we also have a temporary track file of dynamically feasible tracks, but incorrect data association.) There is a marked change in performance over this range. As the two windows become exceedingly long, there is little statistically significant information gained and indeed performance can degenerate slightly. Thus, one must manually find the correct window lengths for performance in a given scenario and the algorithms do not change for a changing environment. Thus we propose an adaptive method for adjusting the window lengths. (The method has been highly successful for selecting the correct window length for multistep methods in ordinary differential equations.)

1. Compute the solution for different window lengths that overlap and differ by one or two frames.

2. Compare the solution quality, i.e., the value of the objective function, for two adjacent window lengths.

3. If there is a predefined improvement in either direction, we then, for stability, repeat the exercise for a shorter or longer on the first try. If there is consistent information, we adjust the window size in the indicated direction. This can be given a well defined mathematical formula in terms of the assignment problems of different dimensions.

Algorithm Enhancements due to Data Structures (ABP)

Construction and enumeration of the Best K-Solutions.

New Nonsmooth Optimization Techniques.

Sensitivity Analysis

X. SENSITIVITY ANALYSIS

For sequential processing in which the two dimensional two-dimensional assignment algorithm is used, one can use the LP sensitivity analysis theory and easily obtain the corresponding answers. For the multiframe processing, the optimal solution is not available; however, there are still two approaches one can use. First, the basic algorithm can perform the same sensitivity analysis at each stage (loop) of the algorithm as is done in the two dimensional two-dimensional assignment problem since the evaluation of function Φ_(N−k+1) is equivalent to a two dimensional two-dimensional assignment: problem. Alternately, one could use an LP relaxation of the assignment problem and base the sensitivity on the resulting LP problem. We currently see this as an important step in finding even better solutions to the assignment problem if so desired.

New Auction Algorithms (ABP & PS) XI. NEW AUCTION ALGORITHMS.

In this section we present a new auction algorithm for the two dimensional two-dimensional assignment problem.

An important step in solving N-dimensional assignment problems for N≧3, is finding the optimal solution of the 2-dimensional two-dimensional assignment problem. In particular, we wish to solve the 2-dimensional two-dimensional problem which includes the zero-index. T3.pically Typically this problem can be thought of as trying to find either a minimum cost or maximum utility in assigning person to objects, tenants to apartments, or teachers to classrooms. We will follow the work of Bertsekas and call the first index set persons and the second index set objects. The statement of this problem is given below (1) (11.1) when the number of persons is m and the number of objects is n.

$\begin{matrix} \begin{matrix} {{Minimize}{~~~}{\sum\limits_{i = 0}^{m}\;{\sum\limits_{j = 0}^{n}{c_{i\; j}x_{i\; j}}}}} \\ {{{{Subject}\mspace{14mu}{to}{~~~}{\sum\limits_{j = 0}^{n}x_{i\; j}}} = {{1\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i} = 1}},\ldots\mspace{14mu},m,} \\ {{{\sum\limits_{i = 0}^{m}x_{i\; j}} = {{1\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} j} = 1}},\ldots\mspace{14mu},{n.}} \end{matrix} & {\left\lbrack \left\lbrack (1) \right\rbrack \right\rbrack\;(11.1)} \end{matrix}$

There are a couple of assumptions which we will make about (1) (11.1). First of all, we assume that c_(iO) and c_(Oj) are well-defined and the corresponding variables χ_(iO) χ_(Oj) free to be assigned. Second if a cost c_(ij) happens to be undefined, then the corresponding variable χ_(ij) χ to 0. In effect if c_(ij) is undefined, we simply remove this cost and variable from inclusion in the problem.

Notice that there are no constraints on the number of times person 0 and object 0 can be assigned. But notice that the first constraint requires that each non-zero person i must be assigned exactly once. Similarly, the second constraint forces each non-zero object j to be assigned exactly one time. Finally, the last constraint gives an integer solution, although we will see shortly that this constraint can be relaxed to admit any solution χ_(ij)≧0. One reason for requiring that all of the costs of the form c_(iO) and c_(Oj) be defined is so that we are guaranteed a feasible solution exists for the given problem.

XI.1. Relaxation of One Constraint

Relaxing the last constraint, we obtain the following problem:

$\begin{matrix} {{{Minimize}{~~~}{\sum\limits_{i = 0}^{m}\;{\sum\limits_{j = 0}^{n}{c_{i\; j}x_{i\; j}}}}} + {\sum\limits_{j = 0}^{n}{u_{j}^{2}\left\lbrack {{\sum\limits_{i = 0}^{m}x_{i\; j}} - 1} \right\rbrack}}} \\ {\equiv {{\sum\limits_{i = 0}^{m}\;{\sum\limits_{j = 0}^{n}{\left\lbrack {c_{i\; j} + u_{j}^{2}} \right\rbrack x_{i\; j}}}} - {\sum\limits_{j = 0}^{n}u_{j}^{2}}}} \\ {{{{Subject}\mspace{14mu}{to}{~~~}{\sum\limits_{j = 0}^{n}x_{i\; j}}} = {{1\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i} = 1}},\ldots\mspace{14mu},m} \\ {x_{i\; j} \in {\left\{ {0,1} \right\}.}} \end{matrix}$

This lower bound is achieved and the second constraint in the original problem is satisfied if the following conditions are met:

${{{For}\mspace{14mu} i} = 0},\mspace{11mu}{\chi_{0j} = \begin{Bmatrix} {{{1\mspace{14mu}{if}\mspace{14mu} c_{0\; j}} + u_{j}^{2}} \leq 0} \\ {0\mspace{14mu}{otherwise}} \end{Bmatrix}}$ $\begin{matrix} {{{{For}\mspace{14mu} i} \neq 0},} & {\chi_{ij} = \begin{Bmatrix} {{1\mspace{14mu}{if}\mspace{14mu} j} = {\arg\;\min\left\{ {{\left. {c_{ik} + u_{k}^{2}} \middle| k \right. = 0},1,\ldots\mspace{14mu},n} \right\}}} \\ {0\mspace{14mu}{otherwise}} \end{Bmatrix}} \end{matrix}$ All    of  j′s  are    assigned    only  one    time.

The relaxation of the first constraint is analogous and would lead to similar results with i and j exchanged and the introduction of the multiplier u¹.

XI.2. Relaxation of Both Constraints

This time we will relax both constraints and using use duality theory to obtain a relationship between the multipliers u¹ and u².

Definition: An assignment S and a multiplier set (u¹,u²) are said to satisfy e-complementary slackness (ε−CS) if c_(ij)+u_(i) ¹+u_(j) ²=0 for all (i,j)εS, c_(ij)+u_(i) ¹+u_(j) ²≧−ε for all (i,j)εA.

Forward Auction Algorithm

(1) Select any unassigned person i

(2) Determine the following quantities: j_(i)=arg min {c_(ik)+u_(k) ²|kεA(i)} v_(i)=c_(lj) _(i) +u_(j) _(i) ² w_(i)=min {c_(ik)+u_(k) ²|kεA(i), k≠j_(i)}

In the selection of j₁ . above, if a tie occurs between 0 and any non-zero index k, then select j, as k. Otherwise, if there is a tie between two or more non-zero indices, the choice of j, is arbitrary. Also if A(i) consists of only one element, then set w_(i)=∞.

(3) Update the multipliers and the assignment:

If j_(l)=0, then

-   -   (a) Add (i,0) to the assignment.     -   (b) Update u_(i) ¹:+−c_(iO).     -   If j_(i)≠0, then     -   (a) Add (i,j_(l)) to the assignment.     -   (b) Remove (i′,j₂) from the assignment if j_(i) was previously         assigned.     -   (c) Update u_(ji) ²: =u_(ji) ²+(w_(l)−v_(l))+ε=w_(l)−c_(lj) _(i)         +ε.     -   (d) Update u,_(i) ¹: =−(c_(lj) _(i) +u_(j) _(i) ²)=−w_(i)−ε.

Reverse Auction Algorithm

-   -   (1) Select any unassigned object j, such that c_(Oj)+u_(j) ²>0.     -   (2) Determine the following quantities:         i_(j)=arg min {c_(jk)+u_(k) ¹|kεB(j)}         β_(j)=c_(ij) _(j) +u_(i) _(j) ¹         γ_(j)=min {c_(kj)+u_(k) ¹|kεB(j), k≠1_(j)}

In the selection of i_(j), above, if a tie occurs between 0 and any non-zero index k, then select j, as k. Otherwise, if there is a tie between two or more non-zero indices, the choice of j_(i) is arbitrary. Also if B(j) consists of only one element, then set γ_(j) ∞.

(3) Update the multipliers and the assignment:

-   -   If i_(j)=0, then     -   (a) Add (0, j) to the assignment.     -   (b) Update u_(j) ²: =−c_(Oj).     -   If i_(j)≠0, then     -   (a) Add (i_(j),j) to the assignment.     -   (b) Remove (i_(j),j′) from the assignment if (i_(j),j) was         previously assigned.     -   (c) Update u_(l) _(j) ¹: =u_(l) _(j)         ¹+(γ_(j)−β_(j))+ε=γ_(j)−c_(ij)+ε.     -   (d) Update u^(j) ²: =−(c_(ij)+u_(i) _(j) ¹)=−γ_(j)−ε.

Combined Forward/Reverse Auction Algorithm

1. Assume that u² is given as an arbitrary multiplier.

2. Adjust the value of u² for each object j as follows: If c_(Oj)+u_(j) ²<0, then set u_(j) ²: =−c_(Oj).

3. Run iterations of the Forward Auction Algorithm until all persons become assigned.

4. Run iterations of the Reverse Auction Algorithm until all of the objects become assigned.

Note at the completion of the Forward auction step we have the following conditions satisfied:

-   -   c_(oj)+u_(j) ²≧0 for all objects j.     -   c_(ij)+u_(i) ¹+u_(j) ²=0 for all (i,j)εS.     -   c_(ij)+u_(j) ²≦_(k) ^(min){c_(ik)+u_(k) ²} for all (i,j)εS.

Thus we can prove the following proposition.

Proposition: If we assume that c_(oj)+u_(j) ²≧0 at the start of the Forward Auction Algorithm and all of the persons are assigned via a forward step, then we have: c_(ij)+u_(i) ¹+u_(j) ²≧−ε for all (i,j)εA. c_(ij)+u_(i) ¹+u_(j) ²=0 for all (i,j)εS. c_(ij)+u_(j) ²≦_(k) ^(min){c_(ik)+u_(k) ²}+ε for all (i,j)εS.

Optimality of the Algorithm

Theorem: ε-CS preserved during every forward and reverse iteration.

Theorem: If a feasible solution exists, then the resulting solution is with mε of being optimal for the Combined Forward Reverse Algorithm.

Implementation Specifics

Parallelization

Here are but a few comments.

XII. Some Concluding Comments

Although the algorithm appears to be serial in nature, its primary computational requirements are almost entirely parallelizable. Thus parallelization is planned.

Step 2 is the computational part of the algorithm. Evaluating Φ_(N−k+1) χχχ and computing a subgradient use in the search procedure requires 99% of the computing time in the algorithm. This part uses two dimensional two-dimensional assignment algorithms, a search over a large number of indices, and a nonsmooth optimization algorithm. It is the second part (the search) that consumes 99% of the computational time and this is almost entirely parallelizable. Indeed, there are two dimensional two-dimensional assignment solvers that are highly parallelizable. Thus, we need but parallelize the nonsmooth optimization solver to have a reasonably complete parallelization.

If a sensitivity analysis is desired or if one is interested in computing several near-optimal solutions, a parallel processor with a few powerful processors and good communication such as on the Intel Paragon would be most beneficial.

The foregoing discussion of the invention has been presented for purposes of illustration and description. Further, the description is not intended to limit the invention to the form disclosed herein. Consequently, variation and modification commensurate with the above teachings, within the skill and knowledge of the relevant art, are within the scope of the present invention. The embodiment described hereinabove is further intended to explain the best mode presently known of practicing the invention and to enable others skilled in the art to utilize the invention as such, or in other embodiments, and with the various modifications required by their particular application or use of the invention. It is intended that the appended claims be construed to include alternative embodiments of the invention to the extent permitted by the prior art. 

What is claimed is:
 1. A method for tracking a plurality of objects, comprising: repeatedly scanning a region containing a set consisting of one or more moving objects and generating N sequential images or data sets of said region, a plurality of observations in said images or data sets providing positional information for objects in said set; determining a plurality of tracks, at least one track for each object in said set; determining a plurality of costs, wherein each cost is for assigning one of said observations to one of said tracks; defining a linear programming problem: $\begin{matrix} {{Minimize}{~~~}{\sum\limits_{i_{1}\ldots\mspace{14mu} i_{N}}\;{c_{i_{1}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}}}} \\ {{{{Subject}\mspace{14mu}{To}{~~~}{\sum\limits_{i_{2}i_{3}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}}} = 1},\left( {{i_{1} = 1},\ldots\mspace{14mu},M_{1}} \right)} \\ {{{\sum\limits_{i_{1}i_{3}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}} = 1},\left( {{i_{2} = 1},\ldots\mspace{14mu},M_{2}} \right)} \\ {{\sum\limits_{i_{1}\ldots\mspace{14mu} i_{p - 1}i_{p + 1}\ldots\mspace{14mu} i_{N}}z_{i_{1}\ldots\mspace{14mu} i_{N}}} = 1} \\ {{~~~~~~~~~~~~~~~~~}\left( {{i_{p} = 1},\ldots\mspace{14mu},{{M_{p}\mspace{14mu}{and}\mspace{14mu} p} = 2},\ldots\mspace{14mu},{N - 1}} \right)} \\ {{\sum\limits_{i_{1}i_{2}\ldots\mspace{14mu} i_{N - 1}}z_{i_{1}\ldots\mspace{14mu} i_{N}}} = {1\mspace{14mu}\left( {{i_{N} = 1},\ldots\mspace{14mu},M_{N}} \right)}} \\ {{0 \leq z_{i_{1}\ldots\mspace{14mu} i_{N}} \leq {1\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}}},\ldots\mspace{14mu},i_{N},} \end{matrix}$ wherein each c_(i) ₁ _(. . t) _(N) is included in said plurality of costs, each M_(i), i=1, . . . ,N, being one of: (a) a number of observations in an i^(th) image or data set of said N sequential images or data sets; (b) a sum of a number of tracks in said plurality of tracks, and a number of said observations in the i^(th) image or data set not assigned to one of said tracks; and (c) a number of tracks in said plurality of tracks; solving said linear programming problem for values of z _(i) _(1 . . . i) _(N) for each i1 . . . iN; determining a value z₁ ₁ _(. . . i) _(N) in {0,1} for each i1 . . . iN corresponding to each z_(ij . .) i_(N), wherein said values zi1 . . . iN provide an optimal or near optimal solution to said linear programming problem; taking one or more of the following actions based on said optimal or near-optimal assignment of said plurality of points to said plurality of tracks;  sending a warning to aircraft or a ground or sea facility, controlling air traffic,  controlling anti-aircraft or anti-missile equipment, taking evasive action,  working on one of said one or more objects, surveilling one of said one or more objects.
 2. A method for tracking a plurality of objects, comprising: using remote scanning apparatus to repeatedly scan a region containing a set consisting of one or more moving objects and generating N sequential images or data sets of said region, a plurality of observations in said images or data sets providing positional information for objects in said set; using a computer system to determine a plurality of tracks, at least one track for each object in said set; using a computer system to determine a plurality of costs, wherein each cost is for assigning one of said observations to one of said tracks; defining a linear programming problem: ${Minimize}\mspace{14mu}{\sum\limits_{i_{1}{\ldots i}_{N}}{c_{i_{1}}{\ldots\mspace{14mu}}_{i_{N}}z_{i_{1}}{\ldots\mspace{14mu}}_{i_{N}}}}$ $\begin{matrix} {{{Subject}\mspace{14mu}{to}{\mspace{14mu}}{\sum\limits_{i_{2}i_{3}{\ldots i}_{N}}{z_{i_{1}}{\ldots\mspace{14mu}}_{i_{N}}}}} = {1\mspace{14mu}\left( {{i_{1} = 1},\ldots\mspace{14mu},M_{1}} \right)}} \\ {{\sum\limits_{i_{1}i_{3}{\ldots i}_{N}}{z_{i_{1}}{\ldots\mspace{14mu}}_{i_{N}}}} = {1\mspace{14mu}\left( {{i_{2} = 1},\ldots\mspace{14mu},M_{2}} \right)}} \\ {{\sum\limits_{i_{1}\ldots\mspace{14mu} i_{p - 1}i_{p + 1}{\ldots i}_{N}}{z_{i_{1}}{\ldots\mspace{14mu}}_{i_{N}}}} = 1} \\ {{~~~~~~~~~}\left( {{i_{p} = 1},\ldots\mspace{14mu},{{M_{p}\mspace{14mu}{and}{\mspace{11mu}\;}p} = 2},\ldots\mspace{14mu},{N - 1}} \right)} \\ {{\sum\limits_{i_{1}i_{2}{\ldots i}_{N - 1}}{z_{i_{1}}{\ldots\mspace{14mu}}_{i_{N}}}} = {1\mspace{14mu}\left( {{i_{N} = 1},\ldots\mspace{14mu},M_{N}} \right)}} \\ {{~~~~~~~~~}{{0 \leq {z_{i_{1}}{\ldots\mspace{14mu}}_{i_{N}}} \leq {1\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} i_{1}}},\ldots\mspace{14mu},i_{N},}} \end{matrix}$ wherein each c_(i1 . . . iN) is included in said plurality of costs, each M_(i), i=1, . . . ,N, being one of: (a) a number of observations in an i^(th) image or data set of said N sequential images or data sets; (b) a sum of a number of tracks in said plurality of tracks, and a number of said observations in the i^(th) image or data set not assigned to one of said tracks; and (c) a number of tracks in said plurality of tracks; using a computer system for solving said linear programming problem for values of z_(i1 . . . iN) for each i₁ . . . i_(N); using a computer system for determining a value z_(i1) . . . _(iN) in {0,1} for each i₁ . . . i_(N) corresponding to each z_(i1) . . . _(iN), wherein said values z_(i1) . . . _(iN) provide an optimal or near optimal solution to said linear programming problem; and using a computer system to determine which one or more of the following actions will be taken based on said optimal or near-optimal assignment of said plurality of points to said plurality of tracks; sending a warning to aircraft or a ground or sea facility, controlling air traffic, controlling anti-aircraft or anti-missile equipment, taking evasive action, working on one of said one or more objects, and surveilling one of said one or more objects.
 3. The method of claim 2, wherein the remote scanning apparatus for repeatedly scanning a region containing a set consisting of one or more moving objects comprises radar apparatus. 